Javascript 如果一个div有这两个类,则隐藏包装器
我有一个包装,上面有一张图片和一颗星星。 如果image和star都有一个名为“no”的类,我想隐藏包装器。必须是两者,如果其中只有一个具有“no”类,则必须显示该类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
<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"
}