简单 jQuery show() 失败

simple jQuery show() Fails

我有以下小文件,它应该隐藏带有 CSS 的一行输出,然后显示带有 jQuery 的那一行。但是,jQuery show() 无法显示该行(浏览器中无输出)...

$(function(){ 
  $('#hi').show(); 
}); 
#hi{visibility:hidden;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<body>
  <span id="hi">hi</span>
</body>

安德鲁

给你一个解决方案https://jsfiddle.net/bb7ms7zo/

$(function(){ 
  $('#hi').css({
     visibility: 'visible'
  }); 
});
#hi{visibility:hidden;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="hi">hi</span>

jQuery show 方法用于 diplay:block 属性,而在 CSS 中您使用了 visibility:hidden;.

所以你需要做 visibility: 'visible'

希望对您有所帮助。

jQuery 的 show() 函数操纵元素的 display 属性 而不是 visibility。可能的值为 display:blockdisplay:inlinedisplay:noneinitial 值。

因此,为了让您的代码正常工作,请更改 CSS 属性 中的 css

#hi{display:none;}

将您的 jQuery 代码更改为

$('#hi').css({
   visibility: 'visible'
});

在这种情况下如果你想使用 Show() 那么你必须使用

#hi{display:none;}  

那就可以了。

或者如果您想继续使用可见性,请尝试以下代码

$("#hi").css('visibility', 'visible');