可见性筛选选择器和属性筛选选择器

1 可见性筛选选择器

$(":visible") 选择所有显示的元素

$(":hidden") 选择所有隐藏的元素,包含display=“none”元素的样式和隐藏表单、visibility等

2 隐藏元素的方式

css display的值是none

type=“hidden”的表单元素

宽度和高度都显示设置为0

祖先元素是隐藏的,该元素不会在页面上显示

css visibility的值是hidden

css opacity的值是0

3 元素占据文档中一定的空间是可见的,所以元素的宽度和高度大于零

4 元素的visibility:hidden或opacity:0是可见的,仍然占据空间布局

5 不在文档中的元素是不可见的,插入文档中JQuery没有办法知道是否可见,因为元素可见性依赖于使用的样式

6 属性选择器可以基于属性定位元素,可以指定该元素的某个属性,所有使用该属性而不管它的值,这个元素都将被定位,也可以更加明确并定位在这些属性上使用特定值的元素

7 属性选择器

$("[attribute|='value']") 选择指定属性值等于给定字符串或以该文字串为前缀

(该字符串后跟一个连字符"-")的元素

$("[attribute*='value']") 选择指定属性具有包含一个给定的子字符串的元素(选择给定的属性是以包含某些值的元素)

$("[attribute~='value']") 选择指定属性用空格分隔的值包含一个给定值的元素

$("[attribute='value']") 选择指定属性是给定值的元素

$("[attribute!='value']") 选择不存在指定属性,或者指定的属性值不等于给定值的元素

$("[attribute^='value']") 选择指定属性是以给定字符串开始的元素

$("[attribute$='value']") 选择指定属性是以给定值结尾的元素,这个比较是区分大小写的

$("[attribute]") 选择所有具有指定属性的元素,该属性可以是任何值

$("[attribute1][attributeFilterN]") 选择匹配所有指定的属性筛选器的元素

8 浏览器支持

[att=val]、[att]、[att|=val]、[att~=val]属于CSS2.1规范

[ns|attr]、[att^=val]、[att*=val]、[att$=val]属于CSS3规范

[name!="value"]属于JQuery扩展的选择器

9 [attr="value"]和[attr*="value"]是最实用的

10 [attr="value"]能定位不同类型的元素,特别是表单form元素的操作,比如input[type="text"]和input[type="checkbox"]等

11 [attr*="value"]能在网站中匹配不同类型的文件