如何通过js的名称设置Element的ID?

时间:2019-02-10 05:21:14

标签: javascript html css

我正在尝试通过一个循环的名称来设置其ID。

我试图通过用元素的名称调用元素然后将id设置为字符串来设置ID

<img name="myFirstImage" src="" id="" style="width:100%;cursor:pointer" 
<script> document.getElementsByName("myFirstImage").id = "imageBox";</script>

请注意,我通过循环将img scr的ID设置为img,因此,如果手动设置图像ID,则会显示img。问题是通过元素名称设置ID。其他一切正常。

2 个答案:

答案 0 :(得分:1)

Document.getElementsByName()返回集合。要访问您拥有的元素,请使用适当的 index

  

Document对象的Document.getElementsByName()方法返回文档中具有给定名称的元素的 NodeList 集合。

document.getElementsByName("myFirstImage")[0].id = "imageBox";
console.log(document.getElementsByName("myFirstImage")[0].id);
<img name="myFirstImage" src="/test" id="" style="width:100%;cursor:pointer">

答案 1 :(得分:0)

document.getElementsByName()返回一个NodeList。您正在尝试更改NodeList的ID。
您也可以document.querySelector('img[name="myFirstImage"]')。这将返回单个元素。

document.getElementsByName("myFirstImage")[0].id = "imageBox";
console.log(document.getElementById('imageBox'));
<img name="myFirstImage" src="" id="" style="width:100%;cursor:pointer"/>