0

私は現在プロジェクトに取り組んでおり、そのアイデアは AJAX オンライン ショップです。例として 2 つの製品を含む XML ファイルを作成し、Javascript を使用してサイド メニューにメーカーを表示しようとしました。これは私のXMLです:

<root>
<car>
    <make>BMW</make>
    <model>1 series</model>
    <color>white</color>
    <image>images/0001.jpg</image>
</car>
<car>
    <make>Mercedes-Benz</make>
    <model>C63</model>
    <color>white</color>
    <image>images/0002.jpg</image>
</car>
</root>

これはJavaScriptです:

 $(document).ready(function(){
 var myXML, myNodes;
 var display = [];
  myXML = document.all("carsXML").XMLDocument;

 myNodes = myXML.getElementsByTagName("car");
 for(var i=0;i<myNodes.length;i++) {
  display[i] = myNodes.item(i).firstChild.nodeValue;
  $('ul').append('<li>'+display[i]+'</li>')   }});

これはhtmlです:

 <html>
 <head>
    <title>Car World</title>
    <xml id="carsXML" src="xml/cars.xml"></xml>
    <script type="text/javascript" src="js/script.js"></script>
    <script type="text/javascript" src="js/jquery.js"></script>
  </head>
  <body>

    <div id="head">
        <h1>Car World</h1>
    </div>
    <div id="left">
        <ul>

        </ul>
    </div>
    <div id="right"></div>
</body>
</html>

アイデアは、同じ ul 内で各自動車メーカーの li を作成することですが、何も表示されていません。ul は空のままです。

4

1 に答える 1

0

PrasathK は正しいです。

あなたのコードは、特に Internet Explorer 固有 (document.all) です。あなたの場合はそれが問題になる場合とそうでない場合がありますが、私の提案は、コースを変更して、クロスブラウザ互換性のあるjQuery.parseXML()のようなものを調べることです-どうやらあなたはすでにjQueryを使用しているようです。 XML データの解析と操作は、DOM を自分で解析するのに比べてはるかに面倒ではありません。

于 2013-04-26T07:15:46.930 に答える