2012-11-09 76 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對象。