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调用有关。任何见解都将深受赞赏。
答案 0 :(得分:2)
Model
以包含undefined
的未初始化变量开头。在循环中,您使用+=
将字符串附加到其中,因此在第一次迭代中,第一个字符串将“附加”到初始undefined
值。要执行此操作,javascript会将undefined
转换为字符串并将新字符串附加到该字符串,以便最终得到以“undefined”开头的字符串。
如果使用空字符串初始化Model
,问题就会消失:
Model = '';