我正在使用 Greasemonkey 填写一个文本框。它正在工作,但是页面有多个<input>
具有相同 id 的页面,而 GM 仅填写第一个。
页面的 HTML(重复 3 次):
<input type="text" id="se" value="" class="form">
我的 GM 代码:
document.getElementById("se").value = "na";
我怎样才能设置第二或第三<input>
呢?
我正在使用 Greasemonkey 填写一个文本框。它正在工作,但是页面有多个<input>
具有相同 id 的页面,而 GM 仅填写第一个。
页面的 HTML(重复 3 次):
<input type="text" id="se" value="" class="form">
我的 GM 代码:
document.getElementById("se").value = "na";
我怎样才能设置第二或第三<input>
呢?
是的,HTML 格式错误的页面是一种痛苦。幸运的是,querySelectorAll()
通常可以在此类页面上正常工作。(唉,库,甚至 jQuery,通常也不处理格式错误的页面。)
在这种情况下,以下代码应该适合您:
var badInputs = document.querySelectorAll ("#se");
for (var J = badInputs.length - 1; J >= 0; --J) {
var tInput = badInputs[J];
tInput.value = "na";
}
你可以在 jsFiddle 看到代码。
您可以迭代input
页面上的元素,查找特定id
值:
var elements = document.getElementsByTagName('input');
for(var i = 0; i < elements.length; i++)
{
if(elements[i].id === "se")
{
elements[i].value = "na";
}
}