代码之家  ›  专栏  ›  技术社区  ›  Adam Tomat

通过jquery选择xml中的特定元素

  •  1
  • Adam Tomat  · 技术社区  · 15 年前

    有人能帮我从这个ID=2的XML文档中选择url吗。通过ajax。

    <images>
    <image id=0>
    <url>images/pic.jpg</url>
    </image>
    <image id=1>
    <url>images/pic.jpg</url>
    </image>
    <image id=2>
    <url>images/pic.jpg</url>
    </image>
    </images>

    我猜是这样的。。。但目前它正在显示xml中的所有条目。我只想它加载一个图像,我该怎么做呢?

    $.ajax({
                type: "GET",
                url: "images.xml",
                dataType: "xml",
                success: function(xml) {
                    $(xml).find('image').each(function(){
                        var id = $(this).attr('id'); //maybe something here?????
                        var url = $(this).find('url').text();
                        $('.loading').html('<img src='+url+' />');
                    });
                }
            });
    
    2 回复  |  直到 15 年前
        1
  •  2
  •   Nick Craver    15 年前

    attribute-equals selector ,如下所示:

    $.ajax({
        type: "GET",
        url: "images.xml",
        dataType: "xml",
        success: function(xml) {
          var img = $(xml).find('image[id=2]'),
                    id = img.attr('id'),
                    url = img.find('url').text();
          $('.loading').html('<img src="'+url+'" />');
        }
    });
    

        2
  •  1
  •   Sarfraz    15 年前

    应该是:

           success: function(xml) {
                $(xml).find('image').each(function(){
                    var id = $(this).attr('id');
    
                    if (id == 2)
                    {
                      var url = $(this).find('url').text();
                      $('.loading').html('<img src='+url+' />');
                    }
                });
            }
    

    如果你只是想找到 image each :

    $(xml).find('image#2 > url').text();