如何使用 . hide () 、.show () 或.toggle () 来切换元素的可见度 ?
如果元素可见或隐藏, 我如何测试 ?
如何使用 . hide () 、.show () 或.toggle () 来切换元素的可见度 ?
如果元素可见或隐藏, 我如何测试 ?
当前回答
您也可以使用普通的笔记本进行此项操作 :
function isRendered(domObj) {
if ((domObj.nodeType != 1) || (domObj == document.body)) {
return true;
}
if (domObj.currentStyle && domObj.currentStyle["display"] != "none" && domObj.currentStyle["visibility"] != "hidden") {
return isRendered(domObj.parentNode);
} else if (window.getComputedStyle) {
var cs = document.defaultView.getComputedStyle(domObj, null);
if (cs.getPropertyValue("display") != "none" && cs.getPropertyValue("visibility") != "hidden") {
return isRendered(domObj.parentNode);
}
}
return false;
}
注:
各地工作 , 嵌套元素为 css 工作, 内嵌样式不需要框架 。
其他回答
隐藏 () 、 显示 () 和 tgggle () 将 cs (display: noone 或 显示: block) 附加到元素中。 同样, 我们也可以很容易地使用长期操作器检查显示 cs 来检查该元素是否隐藏或可见 。
更新内容 :
您还需要检查元素 css 设置为可见度: “ 可见” 或可见度: “ 隐藏” 如果显示属性设置为内嵌区块、 区块、 弹性, 该元素也将可见 。
这样我们就可以检查一个元素的属性, 使得它隐形。 所以它们会显示: 没有和可见度 : “ 隐藏 ” ;
我们可以创建一个用于检查隐藏元素的属性对象 :
var hiddenCssProps = {
display: "none",
visibility: "hidden"
}
我们可以通过绕行检查对象匹配中的每个关键值, 如果密钥的元素属性与隐藏的属性值匹配 。
var isHidden = false;
for(key in hiddenCssProps) {
if($('#element').css(key) == hiddenCssProps[key]) {
isHidden = true;
}
}
如果您想要检查像元素高度: 0 或宽度: 0 或以上这样的属性, 您可以扩展此对象, 并添加更多属性, 并且可以检查 。
有很多方法可以检查元素是否可见或隐藏在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/
if($("h1").is(":hidden")){
// your code..
}
您可以使用此功能:
$(element).is(':visible');
示例代码
$( document) {( pready) {( ) {( ) {( ) $( ” tggle” ) . click () {( ) {( ) {( ) {( ) {( ) {( ) $( ) ) {( ) $( ) ) } . 点击 ( ) {( ) {( ) {( ” ) } } } } ; & ; 标注 src=" https://ajaax.googleapis.com/ax/libs/ jquery/ 12.2/ query. min. js> & () / statict> & pl= "content" & gt; this is a
通常当检查某物是否可见时, 您会立即直接去做其他事情。 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" });