2012-11-09 137 views
1

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

回答

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