有没有一种方法可以使用Javascript向多个元素添加不同的ID?

时间:2020-05-31 13:43:14

标签: javascript html

假设我有

<iframe> id="iframeid"
<div> </div>
<div> </div>
<div> </div>
<div> </div>
</iframe>

有没有一种方法可以使用JavaScript将唯一ID添加到div? 例如

<iframe> id="iframeid"
<div>id="divid1"</div>
<div>id="divid2" </div>
<div>id="divid3" </div>
<div>id="divid4" </div>
</iframe>

1 个答案:

答案 0 :(得分:0)

您可以使用document.getElementsByTagName返回所有div元素。这将返回一个NodeList(在这种情况下为div),您可以使用括号表示法(或item方法,相同)访问该NodeList,该元素返回Element Node。您可以使用.id=valuesetAttribute(id,value)设置其属性ID。在我的示例中,我将div元素设置为id=id0 id=id1,依此类推。

      let myDivs = document.getElementsByTagName("div");
      for(let i=0 ; i<myDivs.length ;i++)
         myDivs[i].id = `id${i}`;

另外请注意,document.getElementsByTagName("div")返回页面中的所有div,如果只需要元素的div,例如带有id=myiframe的iframe元素,则可以执行以下操作:

document.getElementById("myiframe").getElementsByTagName("div"); 

还请注意,此方法可检测子树中的所有div,而不仅限于直接子级