Chrome没有正确实现getElementsByClassName:不能使用多个类
Chrome does not properly implement getElementsByClassName: cannot use multiple classes
getElementsByClassName
的规范表示,您可以通过将多个类放在空格分隔的字符串中来同时搜索它们。
https://developer.mozilla.org/en-US/docs/Web/API/document.getElementsByClassName
/* From MDN */
elements = document.getElementsByClassName(names); // or:
elements = rootElement.getElementsByClassName(names);
- elements是已找到元素的HTMLCollection
- names是一个字符串,表示要匹配的类名列表;类名用空格隔开
- getElementsByClassName可以在任何元素上调用,而不仅仅是在文档上。调用它的元素将用作搜索的根
但是在Chrome上尝试这个不会有任何结果!有人能在Chrome中使用它吗?它只是Chrome还是WebKit?
您没有理解它不是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>
变量元素将只找到上面集合中的最后一个元素。
在JSFiddle 上运行示例
如果你想做或,你可以在现代浏览器上使用quersySelectorAll()
var elements = document.querySelectorAll(".foo, .bar");
JSFiddle示例
相关文章:
- 不能从angular2中的子组件指定父组件中的数组
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 转义符不能与innerHTML一起使用
- JSON.parse没有'不能使用Javascript
- JS可以在Chrome中工作,但不能在Firefox中工作
- 砌体不能填补小缺口
- javascript扫雷器floodfill算法不能正常工作
- JavaScript指令不能像我想象的那样工作
- 为什么在这个网站上不能通过JS访问元素
- Facebook登录按钮没有'不能在Firefox上工作
- WebRTC视频聊天可以在FF中使用,但不能在Chrome中使用
- 为什么jQuery 1.8不能在IE8和InternetExplorer9中使用?(截至2012年9月的IE9最新版本)
- AngularJS:$q.dedefe()不能由工厂方法共享
- 不能在同一页上进行多个jquery幻灯片切换
- 不能在图像中的地图标记中使用花式框jquery插件的区域标记
- jQuery Datepicker可以在Safari中工作,但不能在FF或Chrome中工作
- javascript没有´我不能在joomla 3.0中工作
- 在ES6中,模块将导致多个网络调用,因为两个模块不能在单个文件中定义
- 用javascript将script元素附加到头部;铬不能工作