如何使用 . hide () 、.show () 或.toggle () 来切换元素的可见度 ?
如果元素可见或隐藏, 我如何测试 ?
如何使用 . hide () 、.show () 或.toggle () 来切换元素的可见度 ?
如果元素可见或隐藏, 我如何测试 ?
当前回答
只需检查该元素是否可见, 并返回一个布尔。 jquery 通过在元素中添加无显示来隐藏元素, 所以如果您想要使用纯正的 javascript, 您仍然可以这样做, 例如 :
if (document.getElementById("element").style.display === 'block') {
// Your element is visible; do whatever you'd like
}
您也可以使用jquery, 因为您的代码的其余部分似乎使用这个代码, 而您有小块代码。 类似在jquery的下面的东西, 也为您玩同样的把戏:
if ($(element).is(":visible")) {
// Your element is visible, do whatever you'd like
};
使用 cs 方法在 jquery 中也可以产生同样的结果 :
if ($(element).css('display') === 'block') {
// Your element is visible, do whatever you'd like
}
在检查能见度和显示情况时,您还可以做以下工作:
if ($(this).css("display") === "block" || $(this).css("visibility") === "visible") {
// Your element is visible, do whatever you'd like
}
其他回答
这个问题最简单的答案是:
function checkUIElementVisible(element) {
return ((element.css('display') !== 'none') && (element.css('visibility') !== 'hidden'));
}
有很多方法可以检查元素是否可见或隐藏在jquery中。
demo demo html 例如引用
<div id="content">Content</div>
<div id="content2" style="display:none">Content2</div>
使用可见度过滤选择器$( 元素: 隐藏) 或$( 元素: 可见)
$( 元素: 隐藏 ) : 选择隐藏的所有元素 。 例如 : $( 内容 2: 隐藏 ) show (); $( 元素: 可见 ) : 选择可见的所有元素 。 例如 : $( 内容: 可见 ) . css ( “ 颜色 ” , “ ee ” ) ;
见http://api.jquery.com/类/选择者/visibility-filter-selectors/
正在过滤
Example:
$('#content').is(":visible").css('color', '#EEE');
Or checking condition
if ($('#content').is(":visible")) {
// Perform action
}
见http://api.jquery.com/is/
有太多的方法可以检查隐藏元素。 这是最好的选择(我刚刚推荐你):
使用 jquery, 生成一个元素, 隐藏在 css 中的“ display: noone ” 。
要点是:
$('element:visible')
和供使用的示例:
$('element:visible').show();
$('someElement').on('click', function(){ $('elementToToggle').is(':visible')
您应该考虑的另一个答案是,如果您正在隐藏一个元素, 您应该使用jquery, 而不是实际上隐藏它, 而是删除整个元素, 但是您将其 html 内容和标签本身复制为 jquery 变量, 然后您需要做的就是测试屏幕上是否有这样的标签, 使用正常的 $ (“ tagname ”) 时间长度 。