使用jQuery选择器遍历XMLDocument

时间:2012-11-09 14:01:45

标签: javascript jquery xml

假设我从AJAX调用收到了一些XML。我知道如何在网页上使用选择器,例如如果我有<p id="foo"></p>然后$("#foo")会选择它,但有没有办法让该选择器来定位我的XML?因此,如果我的XML包含<foo bar="baz"></foo>,那么我可以使用$("[bar='baz']")选择它。

1 个答案:

答案 0 :(得分:4)

是的,你可以;您只需将该XMLDocument传递给jQuery选择器(作为其context参数)。事实上,你可以愉快地在那里传递一个字符串:

var xml = '<xml><foo id="foo">bar</foo><foo id="nonfoo">baz</foo></xml>',
 xmlDoc = $.parseXML(xml);

console.log( $('#foo', xmlDoc).text() ); // bar
console.log( $('#foo', xml)   .text() ); // bar

请注意,(显然)使用它是一个非常奇怪的想法:

$('#foo', xml).text();
$('#nonfoo', xml).text();
...

...因为jQuery每次都必须将xml字符串重新解析为XMLDocument对象。