可见性筛选选择器和属性筛选选择器
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"]能在网站中匹配不同类型的文件