1

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

4

1 回答 1

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 对象。

于 2012-11-09T14:45:03.960 回答