使用jQuery选择器选择页面元素,目的是为了生成jQuery对象,语法相当简单:$(selector)。但值得注意的是,这是生成jQuery对象,不是DOM对象,因此$(selector).innerHTML以获取元素内部HTML代码是错误的,正确写法是$(selector).html()。同样的,判断一个DOM对象是否存在,不能够写成if($(selector)),而是if($(selector).length>0)。
当然jQuery对象和DOM对象可以互转换。从上面的例子也可以看出,jQuery对象可以视为是一个DOM对象数组,因此转换成DOM对象可使用get(index)方法或者[index]取下标;相反,DOM对象转换为jQuery对象只需直接用$(document.getElementById(“id”))包装一下就行了。
虽然取对象的方法很简单$(selector),但是这个参数selector却是种类繁多。这里扼要说明一下:
过滤选择器:附在所有选择器的后面,通过特定的过滤规则来筛选出一部分元素,如$(selector:first)。若单独使用,$(:first)则等价于$(*:first);
层次选择器:通过DOM元素间层次关系来获取特定元素,由两个选择器组合而成。选择过程为先按照第一个选择器选择元素,然后根据符号确定后代元素或子元素或兄弟元素,最后在这些元素范围内按照第二个选择器选取最后想要的元素;
下面就是各种选择器的表格说明- -这就打了我一上午,真蛋疼!
基本选择器
选择器 | 描述 | 返回 |
* | 选取所有元素 | 集合元素 |
element | 根据标签名选取元素 | 集合元素 |
#id | 根据id属性值选取元素 | 单个元素 |
.class | 根据class属性值选取元素 | 集合元素 |
selector1,selector2,…,selectorN | 将每个选择器选取的元素合并在一个结果,主要用于选取不同元素 | 集合元素 |
基本过滤选择器
选择器 | 描述 | 返回 |
:first | 选取第一个元素 | 单个元素 |
:last | 选取最后一个元素 | 单个元素 |
:even | 选取索引值是偶数的所有元素,索引从0开始 | 集合元素 |
:odd | 选取索引值是奇数的所有元素,索引从0开始 | 集合元素 |
:eq(index) | 选取索引值等于index的元素,index从0开始 | 单个元素 |
:gt(index) | 选取索引值大于index的元素,index从0开始 | 集合元素 |
:lt(index) | 选取索引值小于index的元素,index从0开始 | 集合元素 |
:not(selector) | 选取匹配selector以外的元素 | 集合元素 |
:header | 选取所有的标题元素 | 集合元素 |
:animated | 选取当前正在执行动画的所有元素 | 集合元素 |
子元素过滤选择器
选择器 | 描述 | 返回 |
:first-child | 选取每个父元素的第一个子元素 | 集合元素 |
:last-child | 选取每个父元素的最后一个子元素 | 集合元素 |
:only-child | 如果某元素是父元素唯一的子元素,则将被选取 | 集合元素 |
:nth-child(odd) | 选取每个父元素下索引值是奇数的子元素 | 集合元素 |
:nth-child(even) | 选取每个父元素下索引值是偶数的子元素 | 集合元素 |
:nth-child(index) | 选取每个父元素下索引值等于index的子元素 | 集合元素 |
:nth-child(equation) | 选取每个父元素下索引值匹配equation的子元素 | 集合元素 |
内容过滤选择器
选择器 | 描述 | 返回 |
:contains(text) | 选取文本内容为text的元素 | 集合元素 |
:has(selector) | 选取含有后代元素为selector的元素 | 集合元素 |
:parent | 选取含有后代元素或文本的元素 | 集合元素 |
:empty | 选取不包含后代元素或文本的空元素 | 集合元素 |
可见性过滤选择器
选择器 | 描述 | 返回 |
:hidden | 选取所有不可见的元素 | 集合元素 |
:visible | 选取所有可见的元素 | 集合元素 |
属性过滤选择器
选择器 | 描述 | 返回 |
[attr] | 选取拥有attr属性的元素 | 集合元素 |
[attr=value] | 选取attr属性值为value的元素 | 集合元素 |
[attr!=value] | 选取attr属性值不为value的元素 | 集合元素 |
[attr^=value] | 选取attr属性值以value开始的元素 | 集合元素 |
[attr$=value] | 选取attr属性值以value结束的元素 | 集合元素 |
[attr*=value] | 选取attr属性值含有value的元素 | 集合元素 |
[attr~=value] | 选取attr属性值用空格分隔的值中有一个为value的元素 | 集合元素 |
[selector1][selector2]…[selectorN] | 选取满足所有属性过滤选择器的元素 | 集合元素 |
层次选择器
选择器 | 描述 | 返回 |
selector1 selector2 | 从selector1的后代元素里选取selector2 | 集合元素 |
selector1>selector2 | 从selector1的子元素里选取selector2 | 集合元素 |
Selector1+selector2 | 从selector1后面的第一个兄弟元素里选取selector2 | 集合元素 |
selector1~selector2 | 从selector1后面的所有兄弟元素里选取selector2 | 集合元素 |
表单选择器
选择器 | 描述 | 返回 |
:input | 选取<input><textarea><select><button>元素 | 集合元素 |
:text | 选取符合[type=text]的<input>元素 | 集合元素 |
:password | 选取符合[type=password]的<input>元素 | 集合元素 |
:radio | 选取符合[type=radio]的<input>元素 | 集合元素 |
:checkbox | 选取符合[type=checkbox]的<input>元素 | 集合元素 |
:image | 选取符合[type=image]的<input>元素 | 集合元素 |
:file | 选取符合[type=file]的<input>元素 | 集合元素 |
:button | 选取符合[type=button]的<input>和<button>元素 | 集合元素 |
:submit | 选取符合[type=submit]的<input><button>元素 | 集合元素 |
:reset | 选取符合[type=reset]的<input><button>元素 | 集合元素 |
:hidden | 选取所有不可见的元素 | 集合元素 |
表单过滤选择器
选择器 | 描述 | 返回 |
:enable | 选取所有可用表单元素 | 集合元素 |
:disable | 选取所有不可用表单元素 | 集合元素 |
:checked | 选取被选中的<input>元素(单选框、复选框) | 集合元素 |
:selected | 选取被选中的<option>元素 | 集合元素 |
网友评论文明上网理性发言已有0人参与
发表评论: