我有輸入型文本設定新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