本文翻译自:Equivalent of jQuery .hide() to set visibility: hidden

In jQuery, there are .hide() and .show() methods which sets the CSS display: none setting. 在jQuery中,有.show() .hide().show()方法设置CSS display: none设置。

Is there an equivalent function which would set the visibility: hidden setting? 是否有一个等效函数可以设置visibility: hidden设置?

I know I can use .css() but I prefer some function like .hide() or so. 我知道我可以使用.css()但我更喜欢像.hide()这样的函数。 Thanks. 谢谢。


#1楼

参考:https://stackoom.com/question/eLCY/相当于jQuery-hide-来设置可见性-隐藏


#2楼

If you only need the standard functionality of hide only with visibility:hidden to keep the current layout you can use the callback function of hide to alter the css in the tag. 如果您只需要隐藏标准功能,只需使用visibility:hidden来保持当前布局,您可以使用hide的回调函数来更改标记中的css。 Hide docs in jquery 在jquery中隐藏文档

An example : 一个例子 :

$('#subs_selection_box').fadeOut('slow', function() {$(this).css({"visibility":"hidden"});$(this).css({"display":"block"});
});

This will use the normal cool animation to hide the div, but after the animation finish you set the visibility to hidden and display to block. 这将使用正常的酷动画来隐藏div,但在动画完成后,您将可见性设置为隐藏并显示为块。

An example : http://jsfiddle.net/bTkKG/1/ 一个例子: http : //jsfiddle.net/bTkKG/1/

I know you didnt want the $("#aa").css() solution, but you did not specify if it was because using only the css() method you lose the animation. 我知道你不想要$(“#aa”)。css()解决方案,但你没有指定是否因为只使用css()方法而丢失了动画。


#3楼

An even simpler way to do this is to use jQuery's toggleClass() method 更简单的方法是使用jQuery的toggleClass()方法

CSS CSS

.newClass{visibility: hidden}

HTML HTML

<a href="#" class=trigger>Trigger Element </a>
<div class="hidden_element">Some Content</div>

JS JS

$(document).ready(function(){$(".trigger").click(function(){$(".hidden_element").toggleClass("newClass");});
});

#4楼

Pure JS equivalent for jQuery hide()/show() : jQuery hide()/ show()的纯JS等价物:

function hide(el) {el.style.visibility = 'hidden';    return el;
}function show(el) {el.style.visibility = 'visible';    return el;
}hide(document.querySelector(".test"));
// hide($('.test')[0])   // usage with jQuery

We use return el due to satisfy fluent interface "desing pattern". 我们使用return el来满足流畅的界面 “设计模式”。

Here is working example . 这是一个有效的例子 。


Below I also provide HIGHLY unrecommended alternative, which is however probably more "close to question" answer: 下面我也提供了高度未经推荐的替代方案,但可能更接近“质疑”答案:

HTMLElement.prototype.hide = function() {this.style.visibility = 'hidden';  return this;
}HTMLElement.prototype.show = function() {this.style.visibility = 'visible';  return this;
}document.querySelector(".test1").hide();
// $('.test1')[0].hide();   // usage with jQuery

of course this not implement jQuery 'each' (given in @JamesAllardice answer) because we use pure js here. 当然,这并没有实现jQuery'each '(在@JamesAllardice回答中给出),因为我们在这里使用纯js。

Working example is here . 工作范例就在这里 。


#5楼

Here's one implementation, what works like $.prop(name[,value]) or $.attr(name[,value]) function. 这是一个实现,它的作用类似于$.prop(name[,value])$.attr(name[,value])函数。 If b variable is filled, visibility is set according to that, and this is returned (allowing to continue with other properties), otherwise it returns visibility value. 如果b变量被填充,可视性根据称定, this返回(允许继续与其他属性),否则返回可见性值。

jQuery.fn.visible = function (b) {if(b === undefined)return this.css('visibility')=="visible";else {this.css('visibility', b? 'visible' : 'hidden');return this;}
}

Example: 例:

$("#result").visible(true).on('click',someFunction);
if($("#result").visible())do_something;

#6楼

You could make your own plugins. 你可以制作自己的插件。

jQuery.fn.visible = function() {return this.css('visibility', 'visible');
};jQuery.fn.invisible = function() {return this.css('visibility', 'hidden');
};jQuery.fn.visibilityToggle = function() {return this.css('visibility', function(i, visibility) {return (visibility == 'visible') ? 'hidden' : 'visible';});
};

If you want to overload the original jQuery toggle() , which I don't recommend... 如果你想重载原始的jQuery toggle() ,我不建议...

!(function($) {var toggle = $.fn.toggle;$.fn.toggle = function() {var args = $.makeArray(arguments),lastArg = args.pop();if (lastArg == 'visibility') {return this.visibilityToggle();}return toggle.apply(this, arguments);};
})(jQuery);

jsFiddle . jsFiddle 。

相当于jQuery .hide()来设置可见性:隐藏相关推荐

  1. jquery如何设置占位隐藏_JQuery显示、隐藏div的几种方法简明总结

    AAA JS隐藏和显示div的方式有两种: 方式1:隐藏后释放占用的页面空间 通过设置display属性可以使div隐藏后释放占用的页面空间. style="display: none;&q ...

  2. jquery如何设置占位隐藏_jquery控制元素的隐藏和显示的几种方法。

    组织略显凌乱,请耐心看! 使用jquery控制div的显示与隐藏,一句话就能搞定,例如: 1.$("#id").show()表示为display:block, $("#i ...

  3. bootstarp js设置列隐藏_隐藏工作表的行、列(第一种简单,第二种很坑,第三种最坑)...

    各位朋友,你们好. 今天和你们分享怎样将工作表的行.列进行隐藏.我将分享两种方法: 一.直接隐藏 通过选中行.列或者单元格,对行列进行隐藏效果见下图: 隐藏行,可以使用:右键菜单.Ctrl+9.开始选 ...

  4. CAD动态块怎么设置可见性?CAD动态块设置技巧

    在浩辰CAD软件中利用可见性参数,可以控制CAD动态块内部某一视图的显示与隐藏,那么,你知道CAD动态块怎么设置可见性吗? CAD动态块可见性的设置步骤: 1.准备视图 在浩辰CAD软件中准备三个汽车 ...

  5. jQuery(4)——jQuery hide、show方法的简单了解

    jQuery hide.show方法的简单了解 jQuery 效果- 隐藏和显示 jQuery 效果- 隐藏和显示 在 jQuery 中可以使用 hide() 和 show() 方法来隐藏和显示 HT ...

  6. jQuery获取和设置元素

    本篇文章聊聊如何使用jQuery获取和设置元素内容与值. 一.获取和设置元素内容 在 jQuery 中,操作元素内容的方法包括 html() 和 text().前者与 JavaScript 中的 in ...

  7. jQuery - 获取并设置 CSS 类、尺寸

    jQuery - 获取并设置 CSS 类 通过 jQuery,可以很容易地对 CSS 元素进行操作. jQuery 拥有若干进行 CSS 操作的方法: addClass() - 向被选元素添加一个或多 ...

  8. jQuery获取或设置元素的宽度和高度

    jQuery获取或设置元素的宽度和高度: 可使用以下3种方法: 1,jQuery width() 和 height() 方法: 2,innerWidth() 和 innerHeight() 方法: 3 ...

  9. ajax拿table里的th值,Jquery Ajax 异步设置Table中某列的值

    可根据table中某列中的ID去改变某列的值! 只是参考,实际应用中不能这样做的,如果有很多行,频繁访问服务器,服务器是顶不住的! JS: $(document).ready(function () ...

最新文章

  1. linux cuda 如何编译器,linux – Cuda编译器不使用GCC 4.5
  2. 「机器学习」到底需要多少数据?
  3. 如何定位cpu占用率高的java线程
  4. 自学python要看哪些书籍-Python入门自学到精通需要看哪些书籍?
  5. svn patch 功能
  6. 布尔运算_实例解析!布尔运算运用技巧!
  7. Windows 配置Apache+CGI
  8. Eclipse 导出
  9. dhcp只能分配与路由器相同网段么_路由器的桥接详解
  10. C语言中二维数组名与数组地址、首行地址、首行首元素地址关系与区别详解(初学者必须掌握)
  11. 淘宝店铺装修如何实现全屏轮播
  12. 如何设谷歌浏览器黑色浏览背景
  13. BLOB/TEXT column 'name' used in key specification without a key length
  14. 震网蠕虫中的一个Bug差点令其“出师未捷身先死”
  15. 使用cmake生成.so动态库
  16. 3D游戏设计-天空盒
  17. 消息推送----微信小程序,公众号
  18. 俄勒冈大学计算机科学专业,俄勒冈大学计算机
  19. 并行接口电路8255A的基本使用——三种工作方式的时序图的具体讲解
  20. 我的理想计算机应用作文,我的理想当一名程序员作文

热门文章

  1. Config文件的使用:通过程序修改Config文件
  2. JS删除数组中某一项或几项的方法汇总
  3. 使用Mac App Store更新、下载软件时出现未知错误的解决方法
  4. oracle的三个网络配置文件
  5. 【长篇连载】桌面管理演义 尾声
  6. VScode 搭建 django 开发环境(Win Python3.71 django1.11.11)
  7. [AHOI 2009]chess 中国象棋
  8. bzoj:3224: Tyvj 1728 普通平衡树
  9. Debian中安装VMware-tools
  10. 书写高效的、可维护的、组件化的CSS(zz)