jQuery:获取其他子元素匹配字符串的子元素的值

时间:2012-05-15 10:49:15

标签: jquery xml

使用REST查询服务器时收到以下信息:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<widgets>
  <widget>
    <wid>wid1007</wid>
    <path>widgets-1007</path>
    <name>Frobnutter</name>
    <id>1</id>
    <version>0</version>
  </widget>
  <widget>
    <wid>wid1008</wid>
    <path>widgets-1008</path>
    <name>Roberts-Coupler</name>
    <id>2</id>
    <version>0</version>
  </widget>
</widgets>

我需要使用已知的“id”值从“小部件”中提取“wid”的值。这在jQuery中会是什么样子?

谢谢!

3 个答案:

答案 0 :(得分:0)

var xml = //your xml output

$(xml).find('wid').each(function() {
   var content = $(this).text();
   var id = $(this).siblings('id').text();
   //do something with each <wid> tags content
});

$('widget', xml).filter(function() {
    if ($(this).find('id').text() === '1') return $(this); 
}).find('wid');

答案 1 :(得分:0)

http://jsbin.com/owiteq/edit#javascript,html

var xml = ...

$(xml).find("widget").each(function ()
        {
          if ($(this).find("id").text()==1)
         {
            alert($(this).find("wid").text());
         }
        });

答案 2 :(得分:0)

将xml传递给变量,让我们说rest_data

$(rest_data).find("widget").each(function()
{
  if($(this).find("id").text() == "2")
  {
    //do something
    alert($(this).find("wid").text());
  }
});