我正在尝试编写Chrome扩展程序以修复网页。我没有权限更改网页,或者我愿意。
破坏页面的HTML元素不具有ID,而是具有NAME。但是,查看javascript,它使用NAME进行多个document.getElementById()调用。这在IE中运行良好,但不适用于Chrome或Firefox。
我的想法是编写Chrome扩展程序以插入所需的元素ID。这可能吗?
background.js:
var dateChange = document.getElementsByName('DateChange');
dateChange.id = 'DateChange';
mainpage.html:
<html>
<head>
<script>
function do_stuff()
{
var elem = document.getElementById('DateChange');
// do some more stuff
}
</script>
</head>
<body>
<form name="myForm">
<input type="hidden" name="DateChange" value="false" />
</form>
</body>
</html>
答案 0 :(得分:0)
您应该能够使用属性选择器,例如
input[name="DateChange"] { color: red }
另请参阅相对较新的document.querySelector
和document.querySelectorAll
来电。
答案 1 :(得分:0)
在尝试设置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;
}