[英]using jQuery to determine if children of a div have a css class
目前,在我的一个网页上,我正在检查是否未使用css类,如下所示:
if (!$('*').hasClass("my-special-class")) {
上面的作品,但它正在检查页面上的每个元素。 实际上,我只需要检查特定的div
(id ='mydiv')及其子元素,但不确定使用哪种选择器,是否会提出建议?
您需要做的就是使用选择器本身在if
语句中进行比较
if($('.my-special-class').length > 0){
//element with this class exists - do something
}
这将在DOM中搜索具有my-special-class
任何元素。 如果找不到该元素,则长度返回为0
另外,如果您想在某个元素中找到选择器,则可以对其进行修改-
if($('#myDiv .my-special-class').length > 0){
//element exists in #myDiv - do something
}
该选择器的工作方式与任何CSS选择器的工作方式相同,将选择myDiv
所有子类my-special-class
采用
$('#myID').find(".my-special-class").length
如果在该父div中没有该类的元素,它将返回0。
if ( $('#yourIDorClass').children().length > 0 ) {
// do something
}
这应该工作。 children()函数返回一个包含子级的JQuery对象。 因此,您只需要检查大小,看看它是否至少有一个孩子。
你必须这样使用
$('#mydiv *').hasClass("my-special-class")
如果该类被mydiv的任何子元素使用,则返回true,否则返回false。
$('#myDiv .my-special-class').length
应该做的工作:-)
之所以要检查该类的HTML页面上的所有内容,是因为您在jQuery选择器中使用了'*'
。
如果要使用jQuery定位特定的div,只需将代码更改为:
if (!$('#myDiv').hasClass("my-special-class")) {
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.