鉴于以下标记,如何使用类data-foo
向jQuery返回所有.bar
值?
<ul id="foobar-list">
<li data-foo="1">Alpha</li>
<li data-foo="2" class="bar">Beta</li>
<li data-foo="3" class="bar">Gamma</li>
<li data-foo="4">Delta</li>
</ul>
到目前为止,这是我的进展:
var arr = [];
$('#foobar-list .bar').each(function() {
var arr[] = $(this).data('foo');
});
答案 0 :(得分:3)
如何使用.map:
var arr = $(".bar[data-foo]").map(function() {
return $(this).data("foo");
}).get();
答案 1 :(得分:1)
以下内容应该有效:
var arr = [];
$('#foobar-list .bar').each(function() {
arr.push($(this).data('foo'));
});
答案 2 :(得分:0)
删除循环中的var - 你要重新声明变量。
var arr = [];
$('#foobar-list .bar').each(function(index) {
arr[index] = $(this).data('foo');
});