getElementsByClassName
的规范声明您可以通过将它们放在以空格分隔的字符串中来一次搜索多个类。
https://developer.mozilla.org/en-US/docs/Web/API/document.getElementsByClassName
/* From MDN */
elements = document.getElementsByClassName(names); // or:
elements = rootElement.getElementsByClassName(names);
但是在Chrome上尝试此操作会得到零结果!有没有人能够在Chrome中使用它?它只是Chrome或WebKit吗?
答案 0 :(得分:4)
你错过了解它不是一个OR。这是一个AND。
elements = document.getElementsByClassName("foo bar");
它表示该元素需要同时包含foo
和bar
类。
<div class="foo">Not Selected</div>
<div class="bar">Not Selected</div>
<div class="foo bar">Selected</div>
变量元素只能找到上面那个集合中的最后一个元素。
如果你想做一个或,你可以在现代浏览器上使用quersySelectorAll()
var elements = document.querySelectorAll(".foo, .bar");