获取包含某class的元素——纯JS

function getElementByClassName(parent,tagName,classname){
    var aEls=parent.getElementsByTagName(tagName);   //找到给定父元素下的给定标签名
    var arr=[];  //定义一个返回的数组
    for(var i=0;i<aEls.length;i++){
        var aClassName=aEls[i].className.split(" ");   //将符合条件的每个元素的class属性都分割成数组
        for(var j=0;j<aClassName.length;j++){
            if(aClassName[j]==classname){   //如果包含class就添加到给定数组里
                arr.push(aEls[i]);
                break;   //该元素添加了就退出循环,防止HTML文件里某一元素有两个重复的class导致程序出错
            }
        }
    }    
    return arr;  //返回符合条件的元素的数组
}

调用方法:var 变量=getElementByClassName(父元素,标签名,属性名);

var aLi=getElementByClassName(document,"li","box");

描述:

1、得到的是包含给定class名的数组

2、parent:在什么范围内寻找

   如果是全文档:则是document

   如果是某一id范围:则是获取元素。例如: var aa=document.getElementById("idname"); 调用方法:getElementByClassName(aa,"li","box");

3、tagName:在什么标签里寻找包含给定class名的元素

4、classname:寻找包含给定属性名的元素

5、获取符合条件的数组里的特定元素:变量[下标]。例如:aLi[0]

posted @ 2017-04-18 11:32  念念念不忘  阅读(2929)  评论(0)    收藏  举报