上一篇文章介绍了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.youkuaiyun.com/rocket5725
本文版权归作者和优快云共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
本文详细介绍了JQuery选择器的功能及使用方法,包括元素选择器、属性选择器和CSS选择器等。通过这些选择器,开发者可以高效地定位并操作网页上的元素。
8274

被折叠的 条评论
为什么被折叠?



