js怎么根据class获取元素

js怎么根据class获取元素,第1张

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

function getClassName(obj,sName) //-->obj是要获取元素的父级

{ //-->sName是class名字

if(documentgetElementsByClassName)

{

return objgetElementsByClassName('sName');

}

else

{

var aTmp = objgetElementsByTagName('');

var aRes=[];

var arr =[];

for(var i=0;i<aTmplength;i++)

{

arr = aTmp[i]classNamesplit(' ');

for (var j=0;j<arrlength;j++)

{

if(arr[j] == sName)

{

aRespush(aTmp[i]);

}

}

}

return aRes;

}

}

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

太多了 不明白你想干什么 你是想处理多个class是吧 想怎么获取?用each方法就可以了

$("nav")each(function(index,item) {

    $(this)……//这个就是jquer循环获取的class对象 你可以用来处理你的逻辑

});

可以通过getElementsByClassName方法来返回一个元素数组,你可以引用下标来返回具体的元素对象,比如:

var elements=documentgetElementsByClassName(“classname”);

elements[0];

分为以下2种情况: 

1如果css写成行内样式,可以通过获取style属性的值来判断,示例如下: 

判断id为divid的div元素是否有font-size样式:

2如果css写成类样式,可以通过获取class属性的值来判断,示例如下: 

判断id为divid的div元素是否含有类样式divclass:

描述: 为每个匹配的元素添加指定的样式类名

$('div')addClass('className');//为所有div添加名为className的class1

removeClass 

描述: 移除集合中每个匹配元素上一个,多个或全部样式。

$('div')removeClass('className');//将所有div上名为className的class移除1

toggleClass 

描述: 在匹配的元素集合中的每个元素上添加或删除一个或多个样式类,取决于这个样式类是否存在或值切换属性。即:如果存在(不存在)就删除(添加)一个类。

$('div')toggleClass('className');//如果div上有这个class就删除,没有就添加。

以上就是关于js怎么根据class获取元素全部的内容,包括:js怎么根据class获取元素、jquery如何获取class元素集、javascript怎么获取具有指定class属性的元素对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9619642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存