如何在数组循环中设置属性?

时间:2017-12-03 00:49:08

标签: javascript jquery html arrays loops

我有一个简单的一维数组

var array = [1,2,3,4,5];

我想创建一个循环,将单个div id更改为我的数组中的新id:

    from:
    <div id="120"></div>
    <div id="121"></div>
    <div id="122"></div>
    <div id="123"></div>
    <div id="124"></div>

    to:
    <div id="1"></div>
    <div id="2"></div>
    <div id="3"></div>
    <div id="4"></div>
    <div id="5"></div>

我从div获得id属性:

var divId = $("div").attr('id');

如何在JQuery或JS中执行此操作?

2 个答案:

答案 0 :(得分:0)

尝试以下方法:

&#13;
&#13;
var array = [1,2,3,4,5];
var allDiv = document.querySelectorAll('div');
allDiv.forEach(function(item, i){
  item.setAttribute('id', array[i]);
});

console.log(document.querySelectorAll('div'))
&#13;
<div id="120"></div>
<div id="121"></div>
<div id="122"></div>
<div id="123"></div>
<div id="124"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

如果您使用的是jQuery,可以通过以下方式执行此操作:

var array = [1,2,3,4,5];
$("div").each(function(i, object){
    $(this).attr("id", array[i]);
});

但是如果你想给它们编号,你真的不需要数组。你可以这样做:

$("div").each(function(i, object){
    $(this).attr("id", i);
});

无论如何,我希望有所帮助:D