GetElementByID - 多个 ID [英] GetElementByID - Multiple IDs
本文介绍了GetElementByID - 多个 ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
doStuff(document.getElementById("myCircle1" "myCircle2" "myCircle3" "myCircle4"));
这不起作用,所以我需要逗号或分号才能使其起作用吗?
This doesn't work, so do I need a comma or semi-colon to make this work?
推荐答案
document.getElementById()
一次只支持一个名字,并且只返回一个节点,而不是节点数组.您有几个不同的选择:
document.getElementById()
only supports one name at a time and only returns a single node not an array of nodes. You have several different options:
- 您可以实现自己的函数,该函数接受多个 ID 并返回多个元素.
- 您可以使用
document.querySelectorAll()
允许您在 CSS 选择器字符串中指定多个 id. - 您可以在所有这些节点上放置一个通用类名,并使用带有单个类名的
document.getElementsByClassName()
.
每个选项的示例:
doStuff(document.querySelectorAll("#myCircle1, #myCircle2, #myCircle3, #myCircle4"));
或:
// put a common class on each object
doStuff(document.getElementsByClassName("circles"));
或:
function getElementsById(ids) {
var idList = ids.split(" ");
var results = [], item;
for (var i = 0; i < idList.length; i++) {
item = document.getElementById(idList[i]);
if (item) {
results.push(item);
}
}
return(results);
}
doStuff(getElementsById("myCircle1 myCircle2 myCircle3 myCircle4"));
这篇关于GetElementByID - 多个 ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文