我正在尝试通过一个循环的名称来设置其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。其他一切正常。
答案 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"/>