Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果一个div有这两个类,则隐藏包装器_Javascript_Jquery_Css - Fatal编程技术网

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

Javascript 如果一个div有这两个类,则隐藏包装器,javascript,jquery,css,Javascript,Jquery,Css,我有一个包装,上面有一张图片和一颗星星。 如果image和star都有一个名为“no”的类,我想隐藏包装器。必须是两者,如果其中只有一个具有“no”类,则必须显示该类 <div id="wrapper"> <a href="#" class="image no" target="_blank"><img src="something.jpg"></a> <a href="#" class="star no"><img src="s

我有一个包装,上面有一张图片和一颗星星。 如果image和star都有一个名为“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>
.hasClass()
就是您要找的

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

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

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

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

您也可以在不使用jQuery的情况下执行此操作:

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

JavaScript解决方案

您可以将两个类放在一个类中selector@SilverSurfer不确定hasClass是否具有多个选择器(未测试),但即使是简单的也可以工作。
if(document.querySelectorAll('.image.no').length && document.querySelectorAll('.star.no').length) { 
  document.getElementById("wrapper").style.display = "none";
}
function checkAndHide(){
var wrapper = document.getElementById("wrapper");
wrapper.style.display =  (wrapper.querySelector(".image.no") && wrapper.querySelector(".star.no"))? "none" : "block"
}