我有以下xml:
<ListOfItems>
<item myval='123' />
<item myval='342' />
<item myval='233' />
<item myval='444' />
</ListOfItems>
我正在使用jQuery解析/遍历它。什么是选择器,它将为我提供“项目”节点的属性“myval”中所有值的列表。我正在寻找能让我回到价值列表的东西。也许是数组['123,'342','233','444']
答案 0 :(得分:2)
请记住,我不认为这些是有效的元素,我建议:
var listOfValues = [];
$('ListOfItems > item').each(
function(){
listOfValues.push($(this).attr('myval'));
});
鉴于希望使用单个选择器,可以采用以下方法:
var myvals = $('li').map(
function(){
return this.getAttribute('myval');
}).get().join(', ');
答案 1 :(得分:1)
您需要遍历项目列表。例如:
var itemsArray = [];
$("ListOfItems").each(function(index) {
itemsArray[index] = $(this).attr('myval');
});
答案 2 :(得分:1)
var data = new Array();
$(xml).find('item').each(function() {
data.push($(this).attr('myval'));
});
其中xml
是您的xml内容。
或:
var array = $(xml).find('item').map(function() {
return $(this).attr('myval');
}).get();
答案 3 :(得分:1)
使用.map()
功能。
var listOfItems = $('ListOfItems items').map(function() {
return $(this).attr('myval');
});
这是一个非常漂亮的功能(以及$.map()
)很多人都错过了。
请记住,这会返回一个jQuery对象,因此如果您想要了解 raw 返回的数组,则必须通过listOfItems.get()
进行操作。