这段代码在Google Chrome中完美运行;但是,它在 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');
关于javascript - Google Chrome 和 Internet Explorer 中的 getElementsByClassName 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19429456/