jQuery中是否有一种方法可以循环或将分配给元素的所有类分配给数组?
例如
<div class="Lorem ipsum dolor_spec sit amet">Hello World!</div>
我将在上面的“ dolor_spec”中寻找“特殊”类。我知道我可以使用hasClass(),但是实际的类名有时不一定是已知的。
jQuery中是否有一种方法可以循环或将分配给元素的所有类分配给数组?
例如
<div class="Lorem ipsum dolor_spec sit amet">Hello World!</div>
我将在上面的“ dolor_spec”中寻找“特殊”类。我知道我可以使用hasClass(),但是实际的类名有时不一定是已知的。
Might this can help you too. I have used this function to get classes of childern element..
function getClickClicked(){
var clickedElement=null;
var classes = null;<--- this is array
ELEMENT.on("click",function(e){//<-- where element can div,p span, or any id also a class
clickedElement = $(e.target);
classes = clickedElement.attr("class").split(" ");
for(var i = 0; i<classes.length;i++){
console.log(classes[i]);
}
e.preventDefault();
});
}
In your case you want doler_ipsum class u can do like this now calsses[2];
.
您应该尝试以下一种方法:
$("selector").prop("classList")
它返回该元素的所有当前类的数组。
在支持的浏览器上,您可以使用DOM元素的classList
属性。
$(element)[0].classList
它是一个类似数组的对象,列出了元素具有的所有类。
如果您需要支持不支持该classList
属性的旧浏览器版本,则链接的MDN页面还包含一个填充程序-尽管即使该填充程序也无法在IE 8以下的Internet Explorer版本上运行。
为什么没有人简单列出。
$(element).attr("class").split(/\s+/);
编辑:正如@MarkAmery指出的那样,您不能仅仅.split(' ')
因为类名可以用任何类型的空格分隔。
javascript provides a classList attribute for a node element in dom. Simply using
will return a object of form
The object has functions like contains, add, remove which you can use