检查类是否包含jQuery中的类



在一个网站上,有一些类中的帖子"内容";。

如果类";内容";包含另一个名为"的类;rcm";和blockquote,blockquote需要一个css规则。

示例

帖子1:

<div class="content">
<div class="rcm"></div>
<blockquote></blockquote>
</div>

后2:

<div class="content">
<blockquote></blockquote>
</div>

后3:

<div class="content">
<div class="rcm"></div>
</div>

目标:

只有Nr。1需要以下css规则,因为只有在Nr.1中;内容";具有类";rcm";和一个";块引号":

$("blockquote").css({"display": "inherit", "width": "auto"});

我尝试过:

if (($(".content").hasClass("rcm")) && ($(".content").hasClass("blockquote"))) {
$("blockquote").css({"display": "inherit", "width": "auto"});
}

但这并没有奏效,因为我想我需要一些";每个";,因为有更多的类具有名称内容?

非常感谢你的帮助。

建议:只需使用css同级选择器https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors/Combinators

<style>
.content > .rcm ~ blockquote {
display: inherit;
width: auto;
}
</style>

实现您需要的

$('.content .rcm blockquote').css({"display": "inherit", "width": "auto"});

我假设内容将始终是父类,子类具有rcm,则rcm将使用选择器$('.content.rcm blockquote')。如果具有类,则无需添加检查

var contents = $('.content');
contents.each(function(){
var item = $(this)
// another condition
if(item.find(".rcm")[0] && item.find(".blockquote")[0]){
console.log('OK')
item.css({"display": "inherit", "width": "auto"});
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="content">
<div class="rcm"></div>
<blockquote></blockquote>
</div>
<div class="content">
<div class="rc3m"></div>
<blockquote></blockquote>
</div>

最新更新