如何使用 . hide () 、.show () 或.toggle () 来切换元素的可见度 ?
如果元素可见或隐藏, 我如何测试 ?
如何使用 . hide () 、.show () 或.toggle () 来切换元素的可见度 ?
如果元素可见或隐藏, 我如何测试 ?
当前回答
您可以使用 jquery's is () 函数来检查选定元素的可见或隐藏 。 此方法沿 dom 元素绕过查找匹配, 满足已传递参数 。 如果出现匹配返回错误, 它会返回真实 。
<script>
($("#myelement").is(":visible"))? alert("#myelement is visible") : alert("#myelement is hidden");
</script>
其他回答
通常当检查某物是否可见时, 您会立即直接去做其他事情。 jquery 绑链很容易做到 。
所以,如果您有一个选择器, 并且您想要在它上执行某些动作, 只有当它为可见或隐藏时, 您可以使用过滤器 (“ : 可见 ” ) 或过滤器 (“ 隐藏 ” ) , 然后将它与您想要采取的行动连接起来 。
而不是这样声明:
if ($('#btnUpdate').is(":visible"))
{
$('#btnUpdate').animate({ width: "toggle" }); // Hide button
}
或效率更高,但更丑陋:
var button = $('#btnUpdate');
if (button.is(":visible"))
{
button.animate({ width: "toggle" }); // Hide button
}
您可以在一条线内完成全部任务:
$('#btnUpdate').filter(":visible").animate({ width: "toggle" });
您可以在可见时添加一个类。添加一个类,显示。然后检查是否有一个类:
$('#elementId').hasClass('show');
如果您有表演类, 它返回为真 。
添加这样的 cs :
.show{ display: block; }
简单检查显示属性(或视您喜欢的隐形类型而定的可见度) 。 例如 :
if ($('#invisible').css('display') == 'none') {
// This means the HTML element with ID 'invisible' has its 'display' attribute set to 'none'
}
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 : 看不到 。 但上述方法在许多情况下可能有用, 特别是当您需要找到隐藏的父( 隐藏的父( 隐藏的父) 中是否存在错误时, 因为在这种情况下 : 可见的不会起作用 。
如果您想要检查页面上是否可见元素, 取决于其父的可见度, 您可以检查元素的宽度和高度是否均等于 0 。
jquery 圆
$ementle. width () 0
香草香草
元素. clishight = 0 元素. clishight 0
或
e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e. e.