您的位置:首页 > Web前端 > JavaScript

document.getElementsByClassName兼容性问题

2017-05-04 14:05 417 查看
今天在复习的时候注意到一个细节,原来 document.getElementsByClassName 是 HTML5 新增加的一个 js 函数,对于一些老浏览器例如 IE9 以下的浏览器是不支持这个函数的,所以在那些需要处理兼容性问题的,这个也是一个要处理的一个细节,同时也可称经常被面试官问道:

我翻阅了很多的博客,大家都是千篇一律的转载,我给大家写一个小例子,来给大家展示一下该函数怎么去做低版本浏览器的兼容性问题:

<html>
<body>
<div class="ccc"></div>
<i class="aaa"></i>
<i class="ccc"></i>
<script type="text/javascript">
if(!document.getElementsByClassName)//判断浏览器是否支持这个方法
{
document.getElementsByClassName=function(cname){
var selected=new Array();
var alltag=document.getElementsByTagName("*");//获取所有标签
for(var i=0;i<alltag.length;i++)
{
var t=alltag[i];
alert(t.className);
if(t.className==cname)    //比较标签的class与所要查找的class是否相同
{
selected.push(t);          //将相同的存入数组
}
}
return selected;
}
}
alert(document.getElementsByClassName("ccc").length); //演示:查找css类名为"ccc"的标签个数
</script>
</body>
</html>


弹出的结果是 2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript