我有这个输入:<input type="text" name="1">
。
使用vanilla JS如何为其分配ID?要使它看起来像这样:<input type="text" name="1" id="2">
。
到目前为止有这个,不起作用,我找不到原因......
var xyz = document.getElementsByName(1");
xyz.setAttribute("id", "2");
答案 0 :(得分:1)
getElementsByName
返回数组。您需要将set属性设置为单个元素。哈克:xyz[0].setAttribute...
答案 1 :(得分:1)
正如VeroLom所说,
getElementsByName返回数组。
所以你必须只返回一个元素:
var xyz = document.getElementsByName(1")[0]; // there, I pick the first element of the array
xyz.setAttribute("id", "2");
答案 2 :(得分:1)
var xyz = document.getElementsByName("myName");
xyz[0].id = "myId";
或
xyz[0].setAttribute("id", "myId");
答案 3 :(得分:1)
它们的函数.getElementsByName(1)
返回一个名为1的HTML DOM对象数组。
要访问第一个元素,请尝试:
xyz = document.getElementsByName("1")[0];
xyz.setAttribute("id", "2");
顺便说一下,ID应该以字母开头。
答案 4 :(得分:0)
var xyz = document.getElementsByName(1");
xyz.setAttribute("id", "2");
这为您提供了一个名为“1”的元素数组。所以你需要遍历并给每个元素赋予id。
因此,如果您确定只有一个具有此名称的元素,则可以执行
var xyz = document.getElementsByName("1")[0];
xyz.setAttribute("id", "2");