:hidden:选择隐藏的元素,CSS的display属性值为none、type属性值为hidden、width和height显示的设置为0、父元素是隐藏的(子元素也会被隐藏)都会被当做是隐藏元素。visibility值为hidden或opacity为0的元素都认为其是可见的,因为它们仍然消耗着布局中的空间。在隐藏元素的动画期间元素被认为是可见的,直到动画结束。在动画显示元素时,元素被认为在动画开始时是可见的。jQuery3稍微修改了:hidden(以及:visible)的含义。从这个版本开始,如果元素没有任何布局框将被认为是隐藏的。例如,br元素和没有内容的内联元素不会被:hidden选择器选择。因为:hidden不是CSS规范的一部分而是JQuery扩展,所以使用:hidden查询不能通过本地DOM的querySelectorAll方法提供性能的提升。使用:hidden选择元素时想要获得最佳性能,则需要首先用纯CSS选择器选择元素,然后使用.filter(":hidden")。大量使用这个选择器可能会影响性能。eg:选择隐藏的div元素,$("div:hidden")。
:visible:与:hidden正好相反,选择可见的元素。eg:选择可见的div元素,$("div:visible")。