上一篇文章介绍了JQuery的入门和使用,从本篇文章开始,我们就正式的进入到了JQuery的世界。
前言
本文主要介绍JQuery选择器,为什么首要介绍这个东西呢?因为后续一系列操作都会用到这个家伙。
如果有人问你为什么要选择JQuery时,你大可告诉他说:JQuery这个家伙的选择器太强大,我基本可以通过选择器获取到页面的任何一个元素,也可以操作任何一个元素。
这就是为什么一旦进入JQuery的世界,我们就要认识它——JQuery选择器。
JQuery语法
为了更好的铺垫后续的内容,本文首先介绍下JQuery语法。
JQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。
上篇文章的例子其实已经涵盖了JQuery的语法,比如:
$("a").click(function(event){
alert("Welcome to Xue's Blog!");
});
我们可以看到基本的语法如下:
美元符号$——定义JQuery
选择符("a")——“查询”和“查找” HTML 元素
JQuery 的click抽象为action()—— 执行对元素的操作
比如$(this).hide();//隐藏当前对象
总而言之,JQuery 使用的语法是 XPath 与 CSS 选择器语法的组合。
JQuery选择器
JQuery选择器用得比较普遍的就是:元素选择器、属性选择器、CSS选择器。
JQuery元素选择器和属性选择器允许您通过标签名、属性名或内容对 HTML 元素进行选择。
2.1 JQuery元素选择器
JQuery元素选择器指的是——使用 CSS 选择器来选取 HTML 元素。
编号 | 实例 | 选取 |
---|---|---|
1 | $("p") | 选取 <p> 元素 |
2 | $("p.intro") | 选取所有 class="intro" 的 <p> 元素 |
3 | $("p#demo") | 选取 id="demo" 的第一个 <p> 元素 |
2.2 JQuery属性选择器
JQuery使用 XPath 表达式来选择带有给定属性的元素。
编号 | 实例 | 选取 |
---|---|---|
1 | $("[href]") | 选取所有带有 href 属性的元素 |
2 | $("[href='#']") | 选取所有带有 href 值等于 "#" 的元素 |
3 | $("[href!='#']") | 选取所有带有 href 值不等于 "#" 的元素 |
4 | $("[href$='.jpg']") | 选取所有 href 值以 ".jpg" 结尾的元素 |
2.3 CSS选择器
CSS 选择器可用于改变 HTML 元素的 CSS 属性。
如果现在给你个问题:把所有 p 元素的背景颜色更改为红色。
如果在用ExtJS的时候,是不是感觉特别麻烦,但是在JQuery的世界里就不存在了。
只要使用CSS选择器,就可以轻松解决,如下列代码:
$("p").css("background-color","red");
2.4 JQuery 选择器汇总
选择器 | 实例 | 选取 |
---|---|---|
* | $("*") | 所有元素 |
#id | $("#lastname") | id="lastname" 的元素 |
.class | $(".intro") | 所有 class="intro" 的元素 |
element | $("p") | 所有 <p> 元素 |
.class.class | $(".intro.demo") | 所有 class="intro" 且 class="demo" 的元素 |
:first | $("p:first") | 第一个 <p> 元素 |
:last | $("p:last") | 最后一个 <p> 元素 |
:even | $("tr:even") | 所有偶数 <tr> 元素 |
:odd | $("tr:odd") | 所有奇数 <tr> 元素 |
:eq(index) | $("ul li:eq(3)") | 列表中的第四个元素(index 从 0 开始) |
:gt(no) | $("ul li:gt(3)") | 列出 index 大于 3 的元素 |
:lt(no) | $("ul li:lt(3)") | 列出 index 小于 3 的元素 |
:not(selector) | $("input:not(:empty)") | 所有不为空的 input 元素 |
:header | $(":header") | 所有标题元素 <h1> - <h6> |
:animated | 所有动画元素 | |
:contains(text) | $(":contains('W3School')") | 包含指定字符串的所有元素 |
:empty | $(":empty") | 无子(元素)节点的所有元素 |
:hidden | $("p:hidden") | 所有隐藏的 <p> 元素 |
:visible | $("table:visible") | 所有可见的表格 |
s1,s2,s3 | $("th,td,.intro") | 所有带有匹配选择的元素 |
[attribute] | $("[href]") | 所有带有 href 属性的元素 |
[attribute=value] | $("[href='#']") | 所有 href 属性的值等于 "#" 的元素 |
[attribute!=value] | $("[href!='#']") | 所有 href 属性的值不等于 "#" 的元素 |
[attribute$=value] | $("[href$='.jpg']") | 所有 href 属性的值包含以 ".jpg" 结尾的元素 |
:input | $(":input") | 所有 <input> 元素 |
:text | $(":text") | 所有 type="text" 的 <input> 元素 |
:password | $(":password") | 所有 type="password" 的 <input> 元素 |
:radio | $(":radio") | 所有 type="radio" 的 <input> 元素 |
:checkbox | $(":checkbox") | 所有 type="checkbox" 的 <input> 元素 |
:submit | $(":submit") | 所有 type="submit" 的 <input> 元素 |
:reset | $(":reset") | 所有 type="reset" 的 <input> 元素 |
:button | $(":button") | 所有 type="button" 的 <input> 元素 |
:image | $(":image") | 所有 type="image" 的 <input> 元素 |
:file | $(":file") | 所有 type="file" 的 <input> 元素 |
:enabled | $(":enabled") | 所有激活的 input 元素 |
:disabled | $(":disabled") | 所有禁用的 input 元素 |
:selected | $(":selected") | 所有被选取的 input 元素 |
:checked | $(":checked") | 所有被选中的 input 元素 |
参考文献
jQuery选择器:http://www.w3school.com.cn/jquery/jquery_selectors.asp
jQuery选择器:http://www.w3school.com.cn/jquery/jquery_ref_selectors.asp
作者:薛敬明
出处:http://blog.csdn.net/rocket5725
本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。