解析XML NaN错误?

时间:2011-08-25 07:33:27

标签: javascript jquery xml nan

我用JS获取此代码,从XML解析,我的输出在Chrome,FF,IE中显示NaN ......我不知道为什么,它来自何处。我的所有XML字段都是Chars,这就是为什么我使用.text()函数......

    function parse(document){
    $(document).find("EMaDetails").each(function(){
        $("#main").append(
            '<table>'
            +'<tr>'+'<td>'
            +$(this).find('Nachn').text()+', '
            +$(this).find('Vorna').text()
            +'</td>'+'</tr>'+
            +'<tr>'+'<td>'
            +$(this).find('Detail1').text()+', '
            +$(this).find('Detail2').text()
            +'</td>'+'</tr>'
            +'</table>'
            );


    });
}

结果是这样的:

NaN
Lastname1, Firstname1
Detail1, Detaila1
NaN
Lastname2, Firstname2
Detail2, Detaila2

由于

2 个答案:

答案 0 :(得分:1)

+'</td>'+'</tr>'+

删除此行的+(下一行也以+开头)

答案 1 :(得分:0)

(这不是答案,而是更多的评论,但我需要更多的空间和答案的格式来表明我的观点。)

避免此类错误的最佳方法是始终如一地使用代码约定来设置代码格式。周围有many suggestions for code conventions,但是你使用哪一个并不重要,只要你对它感到满意,最重要的是始终如一地使用它。

在你的情况下,你将一个长表达式包装在几行上,你应该注意三件事:

  • 标识以下行
  • 在二元运算符之前和之后使用空格
  • 最重要的是,将操作员始终放在生产线的起点或终点。 (不要混淆展示位置,否则你会得到像你一样的错误。)

我个人喜欢在行尾添加运算符,因此您“知道”该行必须继续,并且将二进制+与一元{{1}混淆的危险较小就像你的情况一样。

+