我有输入型文本设定新ID的JavaScript
<input type="text" name="processName">
我想用input元素的名称新的ID设置为这个输入元素
document.getElementsByTagName("processName")[0].setAttribute("id", "proceesOffsetId");
这是不工作
我有输入型文本设定新ID的JavaScript
<input type="text" name="processName">
我想用input元素的名称新的ID设置为这个输入元素
document.getElementsByTagName("processName")[0].setAttribute("id", "proceesOffsetId");
这是不工作
因此getElementsByTagName
引用元素标记(例如:div标记,li标记,输入标记等)。它不通过name
属性获取元素。
所以你的情况,来定位input
元素,你可以做这样的事情:
document.getElementsByTagName("input")[0].setAttribute("id", "proceesOffsetId");
这将给input
件proceesOffsetId
的id
。
或者,瞄准name
属性,你可以使用document.getElementsByName
:
document.getElementsByName("processName")[0].setAttribute("id", "proceesOffsetId");
这也将给input
件proceesOffsetId
的id
。
你应该使用getElementsByName
document.getElementsByName("processName")[0].id = "proceesOffsetId";
而不是使用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
为什么?你会用什么ID?您必须首先按名称选择元素,并且此时ID将是多余的。无论如何,一个提示:'.getElementsByTagName(“processName”)'正在寻找''元素... –
nnnnnn
我想集中游标..我可以这样做 - “document.getElementsByTagName(”processName“)[0 ] .focus()'. – Loura
'.getElementsByTagName()'是错误的方法。试试'.getElementsByName()'。或'document.querySelector('[name =“processName”]')。focus()'。 – nnnnnn