我想添加一个与数组匹配的元素的rel属性,例如,数组是:
var targetVal = ['1','2','4'];
和5个具有相同类的元素:
<a class="link" href="1.html">
<a class="link" href="2.html">
<a class="link" href="3.html">
<a class="link" href="4.html">
<a class="link" href="5.html">
我想以具有rel属性的第二、第三和第五行为目标。
$(".link").each(function(index) {
$(this).attr("rel", "group");
});
如何才能使上面的脚本基于数组进行索引?
发布于 2012-06-26 13:09:48
var targetVal = ['1','2','4'];
$.each(targetVal, function(index, val) {
console.log(val);
$('.link').eq(val).attr("rel", "group");
});
jsFiddle示例http://jsfiddle.net/roXon/T7zR8/
发布于 2012-06-26 13:07:38
发布于 2012-06-26 13:22:10
这样会更好,只评估一次链接集,然后直接访问该列表,而不是使用.eq()
var targetVal = [1, 2, 4];
var links = $('.link');
$.each(targetVal, function(i, n) {
links[n].setAttribute('rel', 'group');
});
或者,在较新的浏览器上,不使用jQuery:
var targetVal = [1, 2, 4];
var links = document.querySelectorAll('.link');
while (targetVal.length) {
links[targetVal.pop()].setAttribute('rel', 'group');
}
https://stackoverflow.com/questions/11207920
复制