封装getElementsByClassName

以下代码来自javascript DOM编程艺术(第2版)

 

js提供的获取dom元素的方法有

document.getElementById('abc')    获取ID名为abc的元素

document.getElementsByTagName('li')    获取标签名为li的一组元素

document.getElementsByClassName("list")   获取类名为list的一组元素   (这个方法有一些浏览器支持,一些不支持)

 

那么,如果在项目中要用这个方法,还是自己封装一个比较好:

function getElementsByClassName(parentnode,classname){

  if(parentnode.getElementsByClassName){

    return parentnode.getElementsByClassName(classname)

  }else{

    var results = [];

    var elems = parentnode.getElementsByTagName('*');

    for(var i=0; i<elems.length; i++){

      if(elems[i].className.indexOf(classname) != -1){

        results.push(elems[i]);

      }

    }

    return results;

  }

}

 

使用示例:

var abc = document.getElementById("abc");

var list = getElementsByClassName(abc,"li");

posted @ 2012-06-22 23:38  jingangel  阅读(336)  评论(0编辑  收藏  举报