我有不明数量的部分元素:
<section id="foo">
...
</section>
<section id="bar">
...
</section>
对于每个存在的部分,我需要添加一个属性“data-serial”,它是一个从0开始的整数,并且对于每个存在的部分递增1,例如,上面将变成:
<section id="foo" data-serial="0">
...
</section>
<section id="bar" data-serial="1">
...
</section>
<section id="bla" data-serial="2">
...
</section>
...
如何使用jQuery实现这一目标?
由于
答案 0 :(得分:12)
var current = 0;
$("section").each(function() {
$(this).data("serial", current);
current++;
});
循环遍历文档中的所有section
元素,并使用jQuery current
方法将data
的值附加到每个元素。
答案 1 :(得分:12)
James Allardice的答案的修改版本利用了每个传递给它所给出的函数的很少使用的参数。第一个参数是循环当前迭代的索引。
$("section").each(function(index) {
$(this).attr("data-serial", index);
});
答案 2 :(得分:1)
$("section").each(function(i, e) { $(e).attr("data-serial", i) });
答案 3 :(得分:0)
类似
var i = 0;
$('section').each(function() {
$(this).data('serial', i++);
});