Javascript 在具有多个id的目标页面上';s、 脚本仅对第一个脚本执行操作

Javascript 在具有多个id的目标页面上';s、 脚本仅对第一个脚本执行操作,javascript,html,greasemonkey,malformed,Javascript,Html,Greasemonkey,Malformed,我正在用Greasemonkey填充一个文本框。它正在工作,但页面上有多个具有相同id的,GM只填写第一个id 页面的HTML(重复3次): 如何设置第二个或第三个?是的,HTML格式不正确的页面是一个很痛苦的问题。幸运的是,querySelectorAll()通常可以在这样的页面上正常工作。(唉,库,甚至jQuery,通常也不会处理格式错误的页面。) 在这种情况下,以下代码应适用于您: var badInputs = document.querySelectorAll ("#se"); f

我正在用Greasemonkey填充一个文本框。它正在工作,但页面上有多个具有相同id的
,GM只填写第一个id

页面的HTML(重复3次):



如何设置第二个或第三个

是的,HTML格式不正确的页面是一个很痛苦的问题。幸运的是,
querySelectorAll()
通常可以在这样的页面上正常工作。(唉,库,甚至jQuery,通常也不会处理格式错误的页面。)

在这种情况下,以下代码应适用于您:

var badInputs = document.querySelectorAll ("#se");

for (var J = badInputs.length - 1;  J >= 0;  --J) {
    var tInput      = badInputs[J];
    tInput.value    = "na";
}


您可以。

您可以迭代页面上的
输入
元素,查找特定的
id
值:

var elements = document.getElementsByTagName('input');

for(var i = 0; i < elements.length; i++)
{
    if(elements[i].id === "se")
    {
        elements[i].value = "na";
    }
}
var elements=document.getElementsByTagName('input');
对于(var i=0;i

var badInputs = document.querySelectorAll ("#se");

for (var J = badInputs.length - 1;  J >= 0;  --J) {
    var tInput      = badInputs[J];
    tInput.value    = "na";
}
var elements = document.getElementsByTagName('input');

for(var i = 0; i < elements.length; i++)
{
    if(elements[i].id === "se")
    {
        elements[i].value = "na";
    }
}