在网页上,所有文本框都有相同的ID,我想在所有框中写相同的文本,通过Chrome控制台的JavaScript



在网页上,所有文本框都有相同的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" />

最新更新