在javascript中获取未定义的错误

时间:2011-05-09 15:56:32

标签: javascript xml

我正在尝试列出我的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文件的函数。

任何人都可以帮助我理解错误不断出现的原因吗?

由于

1 个答案:

答案 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>