js怎么通过class获取元素

JavaScript012

js怎么通过class获取元素,第1张

根据你的需求,举例如下:

document.querySelector:获取首个(单个)符合条件元素

document.querySelector('.name') //获取页面上首个class属性中包含name的元素。

document.querySelectorAll:获取全部符合条件元素

document.querySelectorAll('.name') //获取页面上全部class属性中包含name的元素。

非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=0i<aTmp.lengthi++)

{

arr = aTmp[i].className.split(' ')

for (var j=0j<arr.lengthj++)

{

if(arr[j] == sName)

{

aRes.push(aTmp[i])

}

}

}

return aRes

}

}

大概思路,是将你要获取class元素父级下的所有元素都取出来,再循环查找className,满足的元素存到数组中,然后返回。