我有输入类型文字
<input type="text" name="processName">
我想使用输入元素的名称
为此输入元素设置新的id document.getElementsByTagName("processName")[0].setAttribute("id", "proceesOffsetId");
哪个无效
答案 0 :(得分:3)
所以getElementsByTagName
引用元素标记(例如:div标记,li标记,输入标记等)。它不会通过name
属性获取元素。
因此,在您的情况下,要定位input
元素,您可以执行以下操作:
document.getElementsByTagName("input")[0].setAttribute("id", "proceesOffsetId");
这将为input
元素提供id
proceesOffsetId
。
或者,要定位name
属性,您可以使用document.getElementsByName
:
document.getElementsByName("processName")[0].setAttribute("id", "proceesOffsetId");
这也会为input
元素提供id
proceesOffsetId
。
答案 1 :(得分:2)
你应该使用getElementsByName
document.getElementsByName("processName")[0].id = "proceesOffsetId";
答案 2 :(得分:0)
不要使用getElementsByTagName,而是根据您的要求使用适当的getElementsByName。
HTML:
<input type="text" name="processName">
JS:
var x= document.getElementsByName("processName");
console.log(x);
x[0].setAttribute("id", "proceesOffsetId");
以下是参考:https://www.w3schools.com/jsref/met_doc_getelementsbyname.asp