如果特定元素具有display:none
,我需要更改另一个元素的display属性。
if ($("#first-layer").css('display') === 'none') {
$("#second-layer").removeAttr("visibility");
}

#second-layer {
color: black;
background-color: red;
width: 200px;
height: 150px;
background: yellow;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
visibility: hidden; // here I have to change by jQuery
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<header>
<div id="first-layer">
<div id="header-elements">
<div id="img-rain" class="animated fadeIn" class="img"><img src="img/img.png"> </div>
<div id="typed-strings" class="text">
<span class="animated fadeInUp" id="typed"></span>
<br/>
<span class="description animated fadeIn">Your weather in one place</span>
</div>
</div>
<div id="typed-strings">
</div>
<div class="start">
<button type="button" class="btn btn-primary btn-lg responsive-width button- bg-clr animated fadeIn">Get Started</button>
</div>
</div>
<div id="second-layer">123</div>
</header>
&#13;
我尝试过来自互联网的解决方案,但他们没有工作。
答案 0 :(得分:1)
您的代码目前无法执行任何操作,但您可能会更轻松地使用
if ($("#first-layer").not(":visible")) { // or .is(":hidden")
$("#second-layer").show();
}
或
$("#second-layer").css({visibility:visible});
因为CSS声明不是属性
更多关于这里的检测 Difference between :hidden and :not(:visible) in jQuery
答案 1 :(得分:1)
// if selector is none then
if($('#first-layer').is(":hidden")){
// alter second-layers visibility
$('#second-layer').css('visibility', 'visible');
}