2013-04-29 147 views
0
var xmlTst='<Tests> 
       <Test> 
        <Id>123</Id> 
        <Name>AAA</Name> 
       </Test> 
       <Test> 
        <Id>456</Id> 
        <Name>BBB</Name> 
       </Test> 
      </Tests>'; 

$("Test>Id[text=" + 123+ "]", xmlTst).parent(); 

上面的选择器在IE中选择上述xml的第一个节点。这在Chrome中不起作用。如何使用jquery获取基于子节点值的节点

请帮我解决这个问题。

+0

是否使用[':包含()'](http://api.jquery.com/contains-selector/)工作? – Wrikken 2013-04-29 19:33:26

+1

包含对我不起作用,因为如果ID是123456,它会返回多个结果。 – Pradeep 2013-04-29 19:40:41

回答

1

你开始和结束标记不匹配,但无论如何:

var xml = $.parseXML(xmlTst); 

$('Test > Id', xml).filter(function() { 
    return $.trim($(this).text()) == '123'; 
}).parent(); 
+0

如果我有另一个Id 123456节点会怎么样?它是否只返回一个或多个记录? – Pradeep 2013-04-29 19:42:24

+0

这将返回多个。编辑答案。 – adeneo 2013-04-29 19:54:09

+0

请将!=改为==。 – Pradeep 2013-04-29 20:16:04

相关问题