我正在尝试列出我的XML文件中的所有类别,并使用javascript函数链接它们,这会打开一个xsl文件。
我发现这个错误:小说是未定义的。 Novel是XML中的一个类别
这是我的代码。
var root=myxmldoc.getElementsByTagName("CATEGORY");
for (i=0;i<root.length;++i) {
var catName=(root[i].childNodes[0].nodeValue);
txt='<a href="#" onClick="javascript:Navigate('+catName+')">'+catName+'</a>';
document.getElementById("left-sidebar").innerHTML+=txt;
}
在上面的代码中,Navigate(var)是一个为每个类别加载各种.XSL文件的函数。
任何人都可以帮助我理解错误不断出现的原因吗?
由于
答案 0 :(得分:2)
当您生成链接时,它会显示为:
<a href="#" onClick="javascript:Navigate(Novel)">Novel</a>
请注意Novel
周围缺少引号,这意味着Javascript会将其视为变量,而这恰好是未定义的。
你需要在你的字符串生成中嵌入引号,如下所示:
txt='<a href="#" onClick="javascript:Navigate(\''+catName+'\')">'+catName+'</a>';
^^ here ^^ and here
以便HTML看起来像:
<a href="#" onClick="javascript:Navigate('Novel')">Novel</a>