我有一个div,我想通过点击里面的按钮来隐藏它 . 我设法通过使用.show()和.addClass()但相反的 - .hide()和.removeClass()使其显示 - 它不起作用!
我想用distributeModalContent和distributeModal类来显示div . 然后单击带#okButton的按钮将它们隐藏起来 .
使用.parent()工作,但它也隐藏了distributeRow div,这不应该发生 .
请参阅下面的HTML,jQuery以及屏幕的图像 .
$(document).ready(function() {
$(".numbersInfo").click(function() {
$(".numbersInfo").addClass("active");
$(".distributeModal").show();
});
$("#okBtn").click(function() {
$(".numbersInfo").removeClass("active");
$(".distributeModal").hide();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="row cingapura newRow noTopBottom">
<div class="wideContent distributeRow">
<div class="textInfo">
Franquia total
de 40 GB
</div>
<div class="numbersInfo">
<div class="number">40 GB</div>
<div class="text">para
distribuir</div>
<div class="distributeModalContent">
<h1>A franquia de internet já está distribuída por completo</h1>
<p>Se quiser aumentar a internet de alguém, é necessário diminuir a de outra pessoa.</p>
<button id="okBtn">Ok, entendi</button>
</div>
</div>
</div>
<div class="distributeModal"></div>
</div>
CSS太大而无法发布,但基本上活动类显示会阻止distributeModalContent div并将其他样式添加到numbersInfo div .
显示和隐藏div之前和之后的屏幕
屏幕显示div
2 回答
嵌套DOM元素上有两个单击事件 - 当用户单击按钮时,其事件触发,隐藏模态,但事件会冒泡到父
.numbersInfo
元素,并且其事件也会触发,再次显示模态 .您可以通过从包含的元素的事件返回false来防止这种情况:
使用“ .hide() ”,如果想要一个不同(但相等)的方式,将 attribute “可见”隐藏起来 .