0

数据.xml

<?xml version="1.0" encoding="utf-8"?>
<cars>
    <car company="TOYOTA">
        <product>Prius</product>    
    </car>
    <car company="TOYOTA">
        <product>New Fortuner</product> 
    </car>  
</cars>

索引.html

<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js">
    </script>
    <script type="text/javascript">
    $(document).ready(function() {
        $('#car').click(function() {
            $.get('data.xml',function(data){
                $('#content').empty();
                $(data).find('car').each(function(){
                    var $car = $(this);
                    var html = '<div class="data">';                      
                    html += '<h3>' + $car.attr('company') + '</h3>';
                    $('#content').append(html);
                });                        
            });
            return false;
        });
    });
    </script>
</head>
<body>

<a href="#" id="car">Car</a>
<div id="content">
</div>
</body>
</html>

以上代码取自这里:http ://www.phpeveryday.com/articles/jQuery-AJAX-and-XML-P970.html

问题:

在 index.html 中,$(data).find('car').each这是如何工作的$(data):通常我看到$('selector'),例如$('.class'),,$('#id')但这里的数据是xml文件。谁能向我解释一下?谢谢。

4

1 回答 1

0
$.get('data.xml',function(data)

在你调用数据中的整个 xml 内容之后。所以“数据”持有汽车标签。

然后

$(data).find('car').each(function(){ ... })

查找数据中的每个“汽车”标签,即 xml 内容

仅供参考:为了更好地理解使用 FIREBUG 等调试工具,并逐步分析您的 javascript 代码

于 2013-07-06T07:38:57.797 回答