如题,由于getElementsByClassName()方法属于新方法,所以在IE5,6等低版本浏览器下使用getElementsByClassName会出现如下错误:
所以我们必须想出兼容的办法,我们可以使用document.getelementsByTagName方法
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScrip原生DOM操作之getElementsByClassName</title>
</head>
<body>
<div class="search">要寻找的内容1</div>
<div class="search">要寻找的内容2</div>
<script>
/*
*由于getElementsByClassName方法比较新,需要新浏览器支持,
* 所以无可避免会产生无效的影响,下面将给出替代方案
*/
function getElementsByClassName(classname){
if(document.getElementsByClassName){
return document.getElementsByClassName(classname);
}else{
var result =new Array();
var elems=document.getElementsByTagName("*");//获取整个文档的节点
for(var i=0;i<elems.length;i++){
if(elems[i].className.indexOf(classname)!=-1){
result[result.length]=elems[i];
}
}
return result;
}
}
var result=getElementsByClassName('search');
for(var i=0;i<result.length;i++){
console.log("搜索到的内容:",result[i].innerHTML)
}
</script>
</body>
</html>
放到IE5的模拟环境下,可以看到,脚本可以正确运行啦