我正在尝试使用 javascript 从 XML 文件加载数据,除链接外,一切正常 100%。如果我将 createDetails(i,"LINK")
替换为一个字符串,它可以正常工作,只是我需要为 XML 中的每个条目更改它。但是在 createDetails(i,"LINK")
中,链接是 undefined.html 并且 XML 中的链接实例只是打印到一边。
代码:
预加载 xml:
var x;
x=xmlDoc.getElementsByTagName("HOME");
function createDetails(refNum,tagName){
var tempProduct;
tempProduct = x[refNum].getElementsByTagName(tagName)[0].childNodes[0].nodeValue;
document.write(tempProduct);
}
function createImage(refNum,tagName){
var tempProduct;
tempProduct = x[refNum].getElementsByTagName(tagName)[0].childNodes[0].nodeValue;
return(tempProduct);
}
打印它的脚本(损坏的东西):
<script>
for(i = 0; i<x.length; i++){
/*this line doesn't work*/ document.write("<a href=\"" + createDetails(i,"LINK") + ".html\">");
document.write("<div class=\"homeLink\">");
document.write("<div class=\"homeLinkPic\">");
document.write("<img src=\"images/" + createImage(i,"PIC") + "\" width=\"200\" height=\"200\" alt=\"linkpic\" />");
document.write("</div>");
document.write("<div class=\"productDesc\">");
createDetails(i,"DESC");
document.write("</div>");
document.write("</div>");
document.write("</a>");
}
</script>
最佳答案
createDetails
没有返回值。将其更改为:
function createDetails(refNum,tagName){
var tempProduct;
tempProduct = x[refNum].getElementsByTagName(tagName)[0].childNodes[0].nodeValue;
return tempProduct;
}
关于javascript - xml 没有加载到 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18528591/