繁体   English   中英

使用jQuery确定div的子代是否具有css类

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM