根据相同的class名获取所有的节点

做项目遇到一个最操蛋的情况,就是好几个class相同,怎么改?于是有了一下的办法。

function getClass(tagName,className){//获得标签名为tagName,类名className的元素
	
	if(document.getElementsByClassName) //支持这个函数
    {        return document.getElementsByClassName(className);
    }
    else
    {       var tags=document.getElementsByTagName(tagName);//获取标签
        var tagArr=[];//用于返回类名为className的元素
        for(var i=0;i < tags.length; i++)
        {
            if(tags[i].class == className)
            {
                tagArr[tagArr.length] = tags[i];//保存满足条件的元素
            }
        }
        return tagArr;
    }
	
}

试了一下,项目中通用且万能


举个小栗子


var allScore=0;
var topMenus=getClass('div','btn yhq active');
for(var i=0;i<topMenus.length;i++){
var menusScore=0;
menusScore=jQuery("#" + topMenus[i].id).attr("score")
allScore=accAdd(allScore,menusScore);
}


剩下的使用方式请自行脑补

猜你喜欢

转载自blog.csdn.net/a945919556/article/details/77977888