使用父节点而不是子节点 - jQuery .each(function())

时间:2009-07-06 12:22:05

标签: jquery

我正在使用jQuery从Web服务中获取结果(第三方无法更改)。结果集类似于:

<result> 
 <contactId>1234</contactId> 
 <contactState>9</contactState> 
 <contactStateSortOrder>5</contactStateSortOrder>
  <address>
    <addressId>568</addressId> 
    <contactId>9801</contactId> 
  </address>
</result>

现在我正在使用

$('result', xml).each(function() {
   $("contactId", this).text();
  });

获取联系人ID并执行我需要做的事情,但最终结果是 12349801所有我想要的是1234.任何想法?

感谢advvace

2 个答案:

答案 0 :(得分:3)

更改您的选择器。要在示例中获得1234,请使用result > contactId;获得9801使用address > contactId

你也可以contactId:not(adress > contactId)

答案 1 :(得分:0)

要么:

$('result > contactId', xml).each(function() {
  $(this).text();
});

或者这个:

$('result', xml).each(function() {
  $(this).children("contactId").text();
});