我有一个正在运行的脚本,我希望它选择所有 ID 或类,而不仅仅是第一个。
<script type = "text/Javascript" >
function color(){
var d=document.getElementsByClassName("black")[0];
d.setAttribute("style", "background-color:#333;");
}
</script>
我有一个正在运行的脚本,我希望它选择所有 ID 或类,而不仅仅是第一个。
<script type = "text/Javascript" >
function color(){
var d=document.getElementsByClassName("black")[0];
d.setAttribute("style", "background-color:#333;");
}
</script>
[0]
indocument.getElementsByClassName("black")[0]
意味着您实际上在选择它们之后丢弃了除第一个之外的所有内容。如果要遍历返回的值,请使用循环gEBCN
。document.getElementsByTagName('*')
如果您想要所有元素,请使用。function color() {
var allElements = document.getElementsByTagName('*');
for (var i=0; i<allElements.length; i++) {
allElements[i].setAttribute('style', 'background-color:#333;');
}
}
要获取具有特定 ID 的所有元素,您可以依赖querySelectorAll
,如
var d = document.querySelectorAll("#temp");
请记住一些事情:
querySelectorAll
返回一个NodeList
对象,而不是实时集合。这意味着如果您添加另一个 id 为“temp”的元素,那将不会出现在您获得的集合中,您必须再次调用 querySelectorAll。querySelectorAll
IE7 和以前的版本不支持。你已经有了答案getElementsByClassName
。