javascript - xml 没有加载到 href

标签 javascript html xml

我正在尝试使用 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/

相关文章:

JavaScript 调用原型(prototype)成员时返回 'undefined'

asp.net - facebook登录后如何在asp.net应用程序中使用javascript SDK获取用户信息

javascript - 单击 Knockout.js 后如何在选择上显示 optionsCaption 默认值?

javascript - 如何使用 JQuery 只显示一个 div 的子元素?

jquery - 所选单选按钮的背景颜色不变

xml - 如何在 OSX 10.7.5 上安装最新版本的 xmllint

javascript - 背景颜色变化出现意外延迟

javascript - 测试时弹出消息框

xml - 如何在 Odoo 上使用 attrs 属性将多个属性(不可见、只读或必需)组合成一个?

python - 如何隐藏按钮 "Create invoice"但基于条件? (奥杜11)