问题是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()