如果div有这两个类,则隐藏包装器

时间:2017-09-15 07:02:28

标签: javascript jquery css

我有一个显示图像和星星的包装器。 如果图像和星星都有一个名为" no"的类,我想隐藏包装器。它必须是两者,如果只有其中一个人有" no"它必须显示出来。

<div id="wrapper">
<a href="#" class="image no" target="_blank"><img src="something.jpg"></a>
<a href="#" class="star no"><img src="star.png"></a>
</div>

这样的事情:

if ($(".image, .no") && $(".star, .no")) {
    document.getElementById("wrapper").style.display = "none";
}

4 个答案:

答案 0 :(得分:7)

你正在寻找

.hasClass()

if ($(".image").hasClass("no") && $(".star").hasClass("no")) {
 // TODO
}

更简单

if ($(".image,.star").is(".no")){
  // TODO 
}

答案 1 :(得分:1)

你也可以在没有jQuery的情况下做到这一点:

if(document.querySelectorAll('.image.no').length && document.querySelectorAll('.star.no').length) { 
  document.getElementById("wrapper").style.display = "none";
}

答案 2 :(得分:0)

如果您使用jquery检查类是否存在,那么为什么要使用javascript来隐藏div。一直使用jquery。

if ($(".image").hasClass("no") && $(".star").hasClass("no")) {
    $('#wrapper').hide();
}

答案 3 :(得分:0)

awk 'match($0, /^([[:alpha:]]+ [0-9]+ ([0-9]{2}:?){3}).*\<([[:alnum:]]+\[[0-9]+\]:)/, a) 
     && !b[a[3]]++{ print a[1],a[3]" respawned or started" }' logfile

JavaScript解决方案