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し、それに新しい文字列を追加します。これにより、「undefined」で始まる文字列になります。

空の文字列で初期化Modelすると、問題は解決するはずです。

Model = '';
于 2010-06-07T21:29:39.187 に答える