我正在使用Greasemonkey填写文本框。它有效,但页面中有多个<input>
具有相同的ID,而GM只填充第一个。
页面的HTML(重复3次):
<input type="text" id="se" value="" class="form">
我的GM代码:
document.getElementById("se").value = "na";
如何设置第二个或第三个<input>
呢?
答案 0 :(得分:2)
是的,HTML格式错误的网页是一个正确的痛苦。幸运的是,querySelectorAll()
通常可以像人们希望的那样在这些页面上运行。 (唉,图书馆,甚至是jQuery,通常也不会处理格式错误的页面。)
在这种情况下,以下代码应该适合您:
var badInputs = document.querySelectorAll ("#se");
for (var J = badInputs.length - 1; J >= 0; --J) {
var tInput = badInputs[J];
tInput.value = "na";
}
答案 1 :(得分:0)
您可以迭代页面上的input
元素,查找特定的id
值:
var elements = document.getElementsByTagName('input');
for(var i = 0; i < elements.length; i++)
{
if(elements[i].id === "se")
{
elements[i].value = "na";
}
}