getElementsByClassName 在 Google Chrome 和 Internet Explorer 中
getElementsByClassName performance in Google Chrome and Internet Explorer
这段代码在谷歌浏览器中完美运行;但是,它在Internet Explorer中不起作用。
function HideMyClassItems()
{
var classone= document.getElementsByClassName('classone');
for(var i=0; i<classone.length; i++) {
classone[i].style.display='none';
}
}
怎么了?!
IE8及更低版本不支持getElementsByClassName()
,但您可以尝试三个选项。
1:您可以创建一个函数
function getElementsByClassName(node, classname) {
var a = [];
var re = new RegExp('(^| )'+classname+'( |$)');
var els = node.getElementsByTagName("*");
for(var i=0,j=els.length; i<j; i++)
if(re.test(els[i].className))a.push(els[i]);
return a;
}
并像这样使用函数
var classone = getElementsByClassName(document.body,'classone'); // no document
2:你可以使用 jQuery。
var classone = $('.classone');
3:您可以使用querySelectorAll()
方法/函数。
var classone = querySelectorAll('.classone');
getElementsByClassName
方法可能并非在所有浏览器中都可用。
您可以试用jQuery
库以获取跨浏览器选择器解决方案。
对于 Internet Explorer,从版本 9 开始支持getElementsByClassName
方法。
参考资料如下: http://caniuse.com/getelementsbyclassname
相关文章:
- 视频HTML没有'无法在Internet Explorer 11上工作
- Internet Explorer缺少占位符支持,特别是密码字段
- Internet Explorer中的文本换行错误
- 为什么我在Internet Explorer上看不到html元素
- internet explorer 8兼容模式下的Youtube api错误
- 当浏览器控制台未打开时,为什么要求会导致Internet Explorer 9超时
- Internet Explorer 8. Events
- jQuery表单验证适用于Mozilla和Internet Explorer,但不适用于Chrome或Safari
- element.dataset in Internet Explorer
- Facebook FB.init”;访问被拒绝”;在Internet Explorer 11中
- JavaScript不适用于internet explorer和Firefox,但适用于谷歌
- 在Internet Explorer中,向所选内容添加选项不起作用
- 在Internet Explorer中从二进制文件打开PDF
- elementproblem internet explorer
- 我可以使用哪些方法在Internet Explorer中禁用Alt+*X*
- 如何在Internet Explorer中使用javascript设置cookie
- 只有当alert()在带有AJAX的internet explorer中使用时,Javascript才会更新UI
- sharepoint站点的internet explorer中出现Javascript错误
- Internet Explorer重新加载IFrame
- 如何在不使用Internet Explorer的情况下从未挂起的HTML文件执行程序