0
    var Model,node;
    document.getElementById('sedans').innerHTML='';
    var thismodelabbr,prevmodelabbr;
    for(var j=0; j<xmlDoc.getElementsByTagName('data').length; j++){
            node = xmlDoc.getElementsByTagName('data')[j];
            thismodelabbr=node.getAttribute('model');
            if(prevmodelabbr!=thismodelabbr){
                Model+='<a href="">'+ node.getAttribute('model')+'</a>';
            }
            prevmodelabbr=thismodelabbr;
            document.getElementById('sedans').innerHTML=Model;
    }

上面的 javascript 片段可以根据需要正常工作,但是在条目显示在其相应页面中之前,我收到了“未定义”响应。我假设它与 .innerHTML 调用有关。任何见解将不胜感激。

4

1 回答 1

2

Model开始是一个未初始化的变量,包含undefined. 在循环中,您将字符串附加到它+=,因此在第一次迭代中,第一个字符串被“附加”到初始undefined值。为此,javascript 转换undefined为字符串并将新字符串附加到它,以便您最终得到一个以“未定义”开头的字符串。

如果您Model使用空字符串进行初始化,问题应该会消失:

Model = '';
于 2010-06-07T21:29:39.187 回答