0

我正在使用 Greasemonkey 填写一个文本框。它正在工作,但是页面有多个<input>具有相同 id 的页面,而 GM 仅填写第一个。

页面的 HTML(重复 3 次):

<input type="text" id="se" value="" class="form">


我的 GM 代码:

document.getElementById("se").value = "na";


我怎样才能设置第二或第三<input>呢?

4

2 回答 2

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";
}


你可以在 jsFiddle 看到代码

于 2014-05-19T20:10:09.033 回答
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";
    }
}

小提琴

于 2014-05-19T20:21:12.983 回答