Javascript 谷歌扩展修复网页

Javascript 谷歌扩展修复网页,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在尝试编写一个chrome扩展来修复一个网页。我没有权限更改网页,否则我会更改 破坏页面的HTML元素没有ID,只有名称。但是,看看javascript,它正在使用名称进行多个document.getElementById调用。这在IE中运行良好,但在Chrome或Firefox中不起作用 我的想法是编写一个Chrome扩展来插入所需的元素ID。这可能吗 background.js: mainpage.html: 您应该能够使用属性选择器,例如 input[name="DateChange"

我正在尝试编写一个chrome扩展来修复一个网页。我没有权限更改网页,否则我会更改

破坏页面的HTML元素没有ID,只有名称。但是,看看javascript,它正在使用名称进行多个document.getElementById调用。这在IE中运行良好,但在Chrome或Firefox中不起作用

我的想法是编写一个Chrome扩展来插入所需的元素ID。这可能吗

background.js:

mainpage.html:


您应该能够使用属性选择器,例如

input[name="DateChange"] { color: red }

另请参见相对较新的document.querySelector和document.queryselectoral调用。

在尝试设置ID时,我一定是做错了什么。然而,我发现以下几点对我的目的有用:

var myForm = document.getElementsByName('myForm')[0];
var elLength = myForm.length;
for (i=0; i<elLength; i++)
{
    myForm.elements[i].id = myForm.elements[i].name;
}

但是属性选择器可以改变元素的ID吗?输入[name=DateChange]{id:myId}No。但是,您可以使用querySelector选择元素,并使用JS添加id。
input[name="DateChange"] { color: red }
var myForm = document.getElementsByName('myForm')[0];
var elLength = myForm.length;
for (i=0; i<elLength; i++)
{
    myForm.elements[i].id = myForm.elements[i].name;
}