0

我正在尝试使用 javascript 创建一个带有来自 XML 文件的链接的 HTML 表。html tbale 工作正常,但是在创建链接时,链接似乎只有链接中我的字符串的第一个单词。如果我执行 alert(String) 命令,我会得到完整的字符串,但一旦我尝试制作 HTML LINK,它只会添加第一个单词。

例子:

基本链接: http: //kat.ph/usearch/ {SEARCH FIELD GOES HERE} XML 列表的字符串输出:“Hello Sir”

实际输出为链接(不带引号): “http://kat.ph/usearch/Hello” 预期输出为链接(不带引号):“http://kat.ph/usearch/Hello Sir”

代码如下

  <script type="text/javascript">
                if (window.XMLHttpRequest)
                {// code for IE7+, Firefox, Chrome, Opera, Safari
                    xmlhttp=new XMLHttpRequest();
                }
                else
                {// code for IE6, IE5
                    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.open("GET","playlist.xml",false);
                xmlhttp.send();
                xmlDoc=xmlhttp.responseXML; 

                document.write("<table border='1'>");
                var x=xmlDoc.getElementsByTagName("void");
                for (i=0;i<x.length;i++)
                { 
                    document.write("<tr><td>");
                    document.write(x[i].getElementsByTagName("string")[0].childNodes[0].nodeValue);
                    document.write("</td><td>");
                    //alert(x[i].getElementsByTagName("string")[0].childNodes[0].nodeValue); just testing to see what i get here
                    // document.write("<a href=http://www.kat.ph/usearch/" + x[i].getElementsByTagName("string")[0].childNodes[0].nodeValue + ">"+"KAT.PH"+"</a>");
                    document.write("<a href='" + "http://www.kat.ph/usearch/" + x[i].getElementsByTagName("string")[0].childNodes[0].nodeValue + "'>" + "KAT.PH" + "</a>"); 

                    document.write("</td></tr>");  

                }
                document.write("</table>");
            </script>
4

1 回答 1

0

URI (http://www.w3schools.com/jsref/jsref_encodeuri.asp) 中不能有空格。您可以做的是对其进行编码:

var term = x[i].getElementsByTagName("string")[0].childNodes[0].nodeValue;
var uri = "http://www.kat.ph/usearch/" + term;

document.write("<a href='" + encodeURI(uri) + "'>" + "KAT.PH" + "</a>");
于 2012-04-26T03:08:46.213 回答