首页 > 解决方案 > 有没有办法使用 Javascript 向多个元素添加不同的 ID?

问题描述

假设我有

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

有没有办法使用javascript向div添加唯一ID?例如

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

标签: javascripthtml

解决方案


您可以使用 . 返回所有 div 元素document.getElementsByTagName。这将返回一个 NodeList(在本例中为 div),您可以使用返回元素节点的括号表示法(或 item 方法,它是相同的)访问它。.id=value您可以使用或设置其属性 id setAttribute(id,value)。在我的示例中,我设置了 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,例如一个 iframe 元素,id=myiframe您可以这样做:

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

另请注意,此方法检测子树中的所有 div,不限于直接子树


推荐阅读