首页 > 代码库 > getElementsByClassName 兼容性
getElementsByClassName 兼容性
getElementsByClassName是html5 新增加的一个类名。
该方法可以让我们通过class属性中的类名来访问元素。不过该方法比较新,某些DOM树还没有,因此在使用中要当心。
由于只有较新的浏览器支持,为了弥补这一不足,可以使用已有的DOM方法来实现自己的getElementsByClassName.下边这个函数使用各种新老浏览器。
小提示:
getElementById-------------- id是单选的,是getElement
getElementsByClassName-----\ 是可以复用的,是getElements
getElementsByTagName-------/
DOM树中最常用的三个获取元素的方法,前边的getElement是不同的。记着呦~~
/*node 是dom树的搜索起点 classname 是要搜索的类名*/function getElementsByClassName(node,classname){ if(node.getElementsByClassName){ return node.getElementsByClassName(classname); }else{ var results = new Array(); var elems = node.getElementsByTagName("*"); for(var i=0;i<elems.length;i++){ console.log(elems[i].ClassName); if(elems[i].ClassName.indexOf(classname)!=-1){ results[results.length] = elems[i]; } } return results; }}/*用法*/var shopping = document.getElementById(‘shop‘);var shoplist = getElementsByClassName(shoplist,‘list‘);/*如果不知道id,id全局dom搜索的话*/getElementsByClassName(document,‘list‘);
使用方法
html
<ul class="clear home-footer"> <li class="item"> <a href="index.html"> <p class="name" style="font-size: 16px;">租赁流程</p> </a> </li> <li class="item"> <a href="apply.html"> <p class="name">预订须知</p> </a> </li> <li class="item"> <a href="javascript:void(0);"> <p class="name">服务网点</p> </a> </li> <li class="item item-mb"> <a href="rank.html"> <p class="name">用户反馈</p> </a> </li> </ul> <script> var re_node = getElementsByClassName(document,‘name‘); for(var j=0;j<re_node.length;j++){ var rec_style = re_node[j].innerText; console.log(rec_style); } </script>
结果截图如下:
getElementsByClassName 兼容性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。