0

我目前正在做一个项目,这个想法是一个 AJAX 在线商店。例如,我创建了一个包含两个产品的 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,所以这将使与自己解析 DOM 相比,解析和操作 XML 数据要简单得多。

于 2013-04-26T07:15:46.930 回答