当前位置: 首页 > 编程笔记 >

推荐一个封装好的getElementsByClassName方法

百里君博
2023-03-14
本文向大家介绍推荐一个封装好的getElementsByClassName方法,包括了推荐一个封装好的getElementsByClassName方法的使用技巧和注意事项,需要的朋友参考一下

我们知道,原生的JS给我们提供了getElementsByClassName方法,可以通过此方法获取到含有某指定class的节点集合,注意是集合,也就是此函数返回一个数组。

但是,IE却并不支持这个方法,但这方法却是很有实用性,所以,我们又不得不专门为IE实现这么一个函数。


function getElementsByClassName(oEle,sClass,sEle){

  if(oEle.getElementsByClassName){

    return oEle.getElementsByClassName(sClass);

  }else{

    var aEle=oEle.getElementsByTagName(sEle || '*'),

      reg=new RegExp('(^|\\s)'+sClass+'($|\\s)'),

      arr=[],

      i=0,

      iLen=aEle.length;

    for(; i<iLen; i++){       if(reg.test(aEle[i].className)){         arr.push(aEle[i]);       }     }     return arr;   } }

使用方法:


//第一种:选择document下的所有class为box_box的div元素

  getElementsByClassName(document,'box_box','div')[0].style.background='yellow';

//第二种:选择document下的所有class为box-box的div元素   getElementsByClassName(document,'box-box','div')[0].style.background='yellow';

//第三种:选择document下的所有class为box-box元素   getElementsByClassName(document,'box-box')[0].style.background='yellow';

oEle、sClass是必填的,sEle是选填的。

sClass中又中横线或下划线亲测木有问题,比如说:box-box box_box;但是如果是其他特殊字符就很有可能有问题了,如:box$box…  当然可以自己加转义搞定特殊字符,如:box\\$box…

兼容性:亲测ie6+

小伙伴们自己使用一下就知道了,超级好用,扩散下给其他小伙伴吧。

 类似资料:
  • 问题内容: 我有一个项目,我们经常在其中将String转换为int。当出现问题时(例如,不是数字,而是字母,等等),此方法将引发异常。但是,如果我必须到处都处理代码中的异常,这很快就会变得非常难看。我想将其放在一个方法中,但是,我不知道如何返回一个干净的值以表明转换出错。 在C ++中,我可以创建一个方法,该方法接受一个指向int的指针,并让该方法本身返回true或false。但是,据我所知,这在

  • 本文向大家介绍封装好的一个万能检测表单的方法,包括了封装好的一个万能检测表单的方法的使用技巧和注意事项,需要的朋友参考一下 检测表单中的不能为空(.notnull)的验证  作用:一对form标签下有多个(包括一个)表单需要提交时,使用js准确的判断当前按钮对那些元素做判断  用法:在form标签下 找到当前 表单的容器 给予class="form",当前表单的提交按钮给予 class="chec

  • 序言 列举一下好书,推荐大家抽空读一下 书单 说明:破折号后边文字是个人简单加的注释,可能出现个人见解不同;另外,未阅读过书籍的朋友,也不要被加的描述干扰,书籍内容肯定会比描述的精彩且有用 《代码整洁之道》——按作者说的去做,你就能写出高质量和优雅的代码 《重构-改善既有代码的设计》——如果从写码一开始就设计好你的方法或者类,就减少了维护时间和项目成本,提高了代码质量和开发效率,你就是优秀的程序员

  • 本文向大家介绍centos6-7 yum安装php的方法(推荐),包括了centos6-7 yum安装php的方法(推荐)的使用技巧和注意事项,需要的朋友参考一下 1.检查当前安装的PHP包 yum list installed | grep php 如果有安装的PHP包,先删除他们 2.添加rpm源     先添加下阿里云的epel源 如果想删除上面安装的包,重新安装 3.运行yum insta

  • 本文向大家介绍jetbrains mono字体安装方法(推荐),包括了jetbrains mono字体安装方法(推荐)的使用技巧和注意事项,需要的朋友参考一下 JetBrainsMono 是 JetBrains 公司开发的一款开源字体,可免费商用。 正如其名字带的Mono,即Monospaced Font,它一款为开发者设计的等宽字体。 1、进入官网 网址:https://www.jetbrain

  • 在 stackoverflow 上有人提问 程序员应该阅读的非编程类书籍有哪些? 本来只想整理编程类书籍, 不过突然眼前一亮,发现了《The Art of War - Sun Tzu》回答者的推荐说明引用 Wikipedia 上的: 亚马逊提供免费的 Kindle 版读本:孙子兵法 Much of the text is about how to fight wars without actual