在网页上,所有文本框都有相同的Id,我想在所有框中编写相同的文本,通过Chrome控制台中的java脚本,怎么可能,请解决我的问题
{ document.getElementById('textbox').value = "Thanks"; }
此代码有效 但仅适用于第一个文本框,而不是所有文本框
{ document.getElementById('textbox').value = "Thanks"; }
有"谢谢"是我的话,"文本框"是id
您必须为每个元素或同一类使用唯一的ID。 这里有一个类的例子:$('.selectorname').val('value');
ID 在 DOM 中必须是唯一的。 按标签名称选择元素。
var elements = document.getElementsByTagName('textarea');
for(var i = 0; i < elements.length; i++){
elements[i].value = "Thanks"
}
如果您正在使用jQuery
则可以使用以下单行代码:
$('textarea').val("Thanks");
你的代码和理解中有一个基本的缺陷。您认为All text box have same Id
因此,document.getElementById('textbox')
将返回所有文本框。但事实并非如此。来自MDN:-
如果 id 值不是空字符串,则它在文档中必须是唯一的。
根据此语句,只有一个文本框可以具有该 Id,document.getElementById('textbox')
将仅返回第一个匹配项。
如果您希望多个元素具有相同的标识符,请使用 class 属性。
let inputs = document.getElementsByClassName("inputClass");
for (let i = 0; i < inputs.length; i++) {
inputs[i].value = "hello";
}
<input class="inputClass" />
<input class="inputClass" />