js怎么根据class获取元素

如题所述

非IE6,7,8可以直接用自带的属性 getElementsByClassName,如果需要考虑兼容,就需要自己写了。下面是自己写的:

function getClassName(obj,sName) //-->obj是要获取元素的父级
{ //-->sName是class名字
if(document.getElementsByClassName)
{
return obj.getElementsByClassName('sName');
}
else
{
var aTmp = obj.getElementsByTagName('*');
var aRes=[];
var arr =[];

for(var i=0;i<aTmp.length;i++)
{
arr = aTmp[i].className.split(' ');
for (var j=0;j<arr.length;j++)
{
if(arr[j] == sName)
{
aRes.push(aTmp[i]);
}
}
}
return aRes;
}
}
大概思路,是将你要获取class元素父级下的所有元素都取出来,再循环查找className,满足的元素存到数组中,然后返回。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答