jquery之选择将被操作的元素(利用自定义jquery选择器)
----------
CSS选择器赋予我们强大的力量和灵活性去匹配想要的DOM元素,但有时我们想根据CSS规范没有预料到的特征去选择元素。
选择器 描述
:animated 选择当前处于动态控制之下的元素。
:button 选择任何按钮(input[type=submit],input[type=reset],input[type=button],或button)
:checkbox 只选择复选框元素(input[type=checkbox])
:checked 只选择已选中的复选框或单选按钮(为css所支持)
:contains(foo) 只选择包含文本foo的元素
:disabled 只选择在界面上已经禁用的表单元素(为css所支持)
:enabled 只选择在界面上已经启用的表单元素(为css所支持)
:file 选择所有文件元素(input[type=file])
:header 只选择标题元素(<hn>,n代表1到6),例如:<h1>,<h2>...<h6>
:hidden 只选择隐藏元素
:image 选择表单图像元素(input[type=image])
:input 只选择表单元素(<input>,<select>,<textarea>,<button>)
:not(filter) 根据指定的筛选器进行求反
:parent 只选择拥有后代节点(包括文本)的元素,而排除空元素
:password 只选择口令元素(input[type=password])
:radio 只选择单选按钮元素(input[type=radio])
:reset 选择复位按钮元素(input[type=reset]或button[type=reset])
:selected 选择已选中的选项元素
:submit 选择提交按钮元素(button[type=submit]或input[type=submit])
:text 只选择文本字段元素(input[type=text])
:visible 只选择可见元素
许多自定义jquery选择器是和表单相关的,允许简明地指定具体的元素类型或状态。也可以组合筛选选择器。,如:假定只想选择已启用的已选中复选框,可以使用:
:checkbox:checked:enabled
利用:not筛选器
如果想要对筛选器求反,假定我们匹配任何不是复选框的<input>元素,就采用:not筛选器。它为CSS筛选器所支持,并与自定义的jquery筛选选择器协同工作。为了选择非复选框<input>元素,使用
input:not(:checkbox)
认清筛选选择器和查找选择器之间的差异是非常重要的。筛选选择器,通过对元素应用更高的选择标准(就像前面的示例那样),缩小正在匹配的元素的集合;查找选择器,比如后代选择器(空格符),子节点选择器(>)以及兄弟节点选择器(+),则查找与已选择元素具有某种关系的其他元素,而不是通过把标准应用于已匹配元素来限制匹配范围。
可以把:not筛选器应用到筛选选择器,但不能应用到查找选择器。
div p:not(:hidden)
这是完全正确的选择器,但div:not(p:hidden)是不正确的。
为了使事情变得简单,筛选选择器被简单地标识,因为它们都以冒号(:)或者左方括号([)开头。除筛选选择器以外,任何其他选择器都不能在:not()筛选器里使用。