从属性选择器中提取值
问题描述:
我是jQuery选择器的新手。我如何从属性中提取值?从属性选择器中提取值
考虑:
<div class='container'>
<div class='entry' data-name='foo'></div>
<div class='entry' data-name='bar'></div>
<div class='entry' data-name='baz'></div>
</div>
我想提取: ['foo','bar','baz']
答
从一组DOM元素的数组试试这个
$(function() {
var array = [];
$(".entry").each(function() {
array.push($(this).data("name"));
});
console.log(array);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='container'>
<div class='entry' data-name='foo'></div>
<div class='entry' data-name='bar'></div>
<div class='entry' data-name='baz'></div>
</div>
答
尝试
var name = [];
$('div.container').children().map(function() {
name.push($(this).data('name'));
});
+1
如果你使用'map'则不需要创建一个'array'变量 – jasonscript 2014-11-24 04:49:25
+0
'name'是一个数组变量 – diEcho 2014-11-24 05:00:35
你做了什么? – diEcho 2014-11-24 04:36:25
我原本以为能够迭代jQuery('。entry')[0] .attr('data-name')之类的东西,但这似乎不起作用。 jQuery('。entry')[0] .attributes.data-name – Peter 2014-11-24 04:40:34