我以XML格式从服务器获取数据。数据如下:
<items>
<item>
<field1>10</field1>
<field2>11</field2>
<field3>12</field3>
</item>
<item>
<field1>10</field1>
<field2>11</field2>
<field3>11</field3>
</item>
</items>
有没有办法编写一个jQuery语句来只返回field2
等于field3
的XML对象?我目前使用jQuery过滤符合特定条件的xml对象(使用jQuery find
和contains
,例如$("field2:contains(11)")
)但我无法提出过滤xml的语句xml字段是相等的。我总是可以将XML转换为javascript数组并查找相等的字段,然后将javascript数组作为jQuery对象返回。似乎应该有一种方法来使用jQuery语句。
答案 0 :(得分:0)
试试这个:
var xmlData = $('<items>.........');
xmlData.find('item').each(function () {
if($(this).find('field2').text() == $(this).find('field3').text()) {
alert('Field 2 and Field 3 are equal');
$(this).find('field3').remove(); //for example, to remove the dupe
}
});
//then convert it back to a string
//for IE
if (window.ActiveXObject) {
var string = xmlData.xml;
alert(string);
}
// code for Mozilla, Firefox, Opera, etc.
else {
var string = (new XMLSerializer()).serializeToString(xmlData);
alert(string);
}