为什么没有重新定义元素显示属性?



问题是div元素与类被添加到DOM,但不被显示,无论如何,我已经设置显示属性为flex

$("#elem").click(function(e) {
if (e.target.classList.contains("myClass")) {
$("*").hide();
$("body").prepend(`<div class="layer">Hey!</div>`);
}
});
.layer {
display: flex;
justify-content: center;
align-items: center;
background: rgb(55, 55, 55);
height: 100vh;
width: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<div id="elem" class="myClass">click me</div>

你的问题是

$("*").hide();

如果你把它改成

$("body *").hide();

$("#elem").hide();

应该能解决你的问题

问题

您正在使用*作为选择器。

  • 选择器选择文档中的所有元素,包括html、header和body
<标题>

解决方案用$("#elem").hide()代替$("*").hide()

最新更新