在 jQuery 中,有.hide()和.show()方法可以设置 CSSdisplay: none设置。
.hide()
.show()
display: none
是否有可以设置visibility: hidden设置的等效功能?
visibility: hidden
我知道我可以使用.css(),但我更喜欢一些类似的功能.hide()。谢谢。
.css()
你可以制作自己的插件。
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'; }); };
如果你想重载原始的 jQuery toggle(),我不推荐......
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。