Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Jquery通过数组中的值为元素编制索引并应用属性_Jquery - Fatal编程技术网

使用Jquery通过数组中的值为元素编制索引并应用属性

使用Jquery通过数组中的值为元素编制索引并应用属性,jquery,Jquery,我想添加与数组匹配的元素的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.ht

我想添加与数组匹配的元素的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">
如何根据数组对上面的脚本进行索引?

您可以使用它来迭代数组,并在特定索引处获取链接:

var $links = $(".link");
$.each(targetVal, function(value) {
    $links.eq(value).attr("rel", "group");
});

jsidle示例

这将更为优化,只对链接集进行一次评估,并直接访问该列表,而不是使用
.eq()

或者,在较新的浏览器上,并且没有jQuery:

var targetVal = [1, 2, 4];
var links = document.querySelectorAll('.link');
while (targetVal.length) {
    links[targetVal.pop()].setAttribute('rel', 'group');
}
var targetVal = ['1','2','4'];

$.each(targetVal, function(index, val) {
       console.log(val);
       $('.link').eq(val).attr("rel", "group");
});
var targetVal = [1, 2, 4];
var links = $('.link');
$.each(targetVal, function(i, n) {
    links[n].setAttribute('rel', 'group');
});
var targetVal = [1, 2, 4];
var links = document.querySelectorAll('.link');
while (targetVal.length) {
    links[targetVal.pop()].setAttribute('rel', 'group');
}