如何使用 . hide () 、.show () 或.toggle () 来切换元素的可见度 ?

如果元素可见或隐藏, 我如何测试 ?


当前回答

a jquery 溶液, 但对于想更改按钮文字的人来说,

$( 函数 () { $( ” 显示) { $( 显示) { $( ” ) { var btn = $( 这样的) { btgle () { btn. text () { btn( $( ) ) {\\\ { display } } } }}} } () ) & lt; 上标 src=" https://ajax. googleapis. com/ jaax/ libs/jquery/ 2. 1 1/ jquery. min.js; & gt; / stamp> = & lt; = "showhhide"; & gt; = " cont"; & h2 & gt; 某些内容 & h2 & gt; & lt; what is loremipsumsum? loremipsumpsum is 简单的文本。

其他回答

if ( $(element).css('display') == 'none' || $(element).css("visibility") == "hidden"){
    // 'element' is hidden
}

上述方法不考虑父(父)的可见度。 如果要也考虑母( 父) , 您应该使用 .is (“ 隐藏 ” ) 或.is ( “ 可见 ” ) 。

例如,

<div id="div1" style="display:none">
  <div id="div2" style="display:block">Div2</div>
</div>

上述方法将考虑在以下两种情况下显示可见的 div2 : 看不到 。 但上述方法在许多情况下可能有用, 特别是当您需要找到隐藏的父( 隐藏的父( 隐藏的父) 中是否存在错误时, 因为在这种情况下 : 可见的不会起作用 。

if($('#id_element').is(":visible")){
   alert('shown');
}else{
   alert('hidden');
}

您可以使用隐藏选择器:

// Matches all elements that are hidden
$('element:hidden')

可见选择器 :

// Matches all elements that are visible
$('element:visible')

这是内部拼写如何解决这个问题的:

jQuery.expr.pseudos.visible = function( elem ) {
    return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
};

如果您不使用 jquery, 你可以只是利用这个代码 并把它变成你自己的功能:

function isVisible(elem) {
    return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
};

只要元素是可见的, 便会返回真实状态 。

您可以使用此功能:

$(element).is(':visible');

示例代码

$( document) {( pready) {( ) {( ) {( ) $( ” tggle” ) . click () {( ) {( ) {( ) {( ) {( ) {( ) $( ) ) {( ) $( ) ) } . 点击 ( ) {( ) {( ) {( ” ) } } } } ; & ; 标注 src=" https://ajaax.googleapis.com/ax/libs/ jquery/ 12.2/ query. min. js&gt; & () / statict&gt; & pl= "content" & gt; this is a