码迷,mamicode.com
首页 > 其他好文 > 详细

获取class

时间:2017-06-03 18:15:09      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:name   正则   element   func   test   nbsp   div   ++   asc   

使用原生JavaScript,获取类操作符时:即使使用getElementByClassName,在Firefox和IE9以下是不兼容的。Firefox下是可以用它获取的到元素而IE不行,一般框架都会实现该方法,达到在IE和Firefox下兼容的问题。

 

下面我写的这个封装,多给了他一个参数(parent),目的在于:(缩小范围)只获取特定id名称下子元素的class名称

学以致用,要学会修改,以便适合自己项目的使用。

function getByClass (clsName,parent) {
  var oParent = parent?document.getElementById(parent):document,
      eles = [] ,
      elements = oParent.getElementsByTagName("*");
  for (var i=0;i<elements.length;i++){
       if (elements[i].className == clsName){
           eles.push (elements[i]); 
        }      
    }  
     return eles;      
}

然后我们还可以通过正则来完美获取:

function getByClass(sClass,parent) {
    var oParent = parent?document.getElementById(parent):document,
        eles = [];
        elements = oParent.getElementsByTagName(‘*‘);

    var re = new RegExp(‘\\b‘+sClass+‘\\b‘,‘i‘)

    for (var i=0;i<elements.length;i++){
        if (re.test(elements[i].className)){
            eles.push(elements[i]);
        }
    }
    return eles;
}

  

 

获取class

标签:name   正则   element   func   test   nbsp   div   ++   asc   

原文地址:http://www.cnblogs.com/yechanglv/p/6937977.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!