Jquery实战_读书笔记2 选择器


Posted in Javascript onJanuary 22, 2010

基本的CSS选择器
熟悉web开发的人员一定对css的选择功能相当的了解,通过css选择功能,我们可以在css样式文件里轻松的将样式应用到选择的页面元素上。jQuery也正是采用了这样的机制,使jQuery的元素选择能力易常强大。
a——选择所有<a>元素
#specialID——选择匹配id为specialID的元素
.specialClass——选择匹配拥有css类sepcialClass的元素
a#specialID.specialClass——选择匹配id为specialID、有用css类specialClass的<a>元素
p a.specialClass——匹配拥有css类specialClass、在<p>元素内的<a>元素
除了支持传统的css选择器,Jquery还支持CSS3选择功能。

 

子节点选择器
$("p > a") 选择元素<p> 的直接子节点的<a>元素,非直接子节点的<a>元素将不会被选择到

特性选择器
特性选择器在匹配的选择元素上过滤满足某特性(属性)的元素
如我们需要做如下的选择:匹配所有指向本网站之外地址的链接,我们可以这样选择
$("a[href^=http://")  该选择器选择具有href属性,且href属性值以http://开始的链接元素
特性选择的语法是:
选择具有某特性(属性)的元素
form[method]
选择具有某特性,且属性值为指定值的元素
input[type=text]
选择匹配特性以特定字符开头的元素
div[title^=my]  ——选择匹配title特性值已my开头的所有div元素
选择匹配特性以特定字符结束的元素
a[href$=.pdf] ——选择引用了pdf文件的所有链接元素
其他
a[href*=jquery.com]选择引用jQuery网站的所有链接元素

过滤符
通过过滤符选择器可以在已选择的元素中过滤出需要的元素,上面的特性选择器也属于过滤符,另外还有“:”字符
如:
li:has(a)—— 选择匹配包含<a>元素的所有<li>元素

1. 基础过滤符:
:first:匹配多个对象中的第一个对象
:last:匹配多个对象中的最后一个对象
:not(selector):匹配去除了not后面选择符中内容的项,not中的selector只能是过滤选择器,不能是查找选择器
:even:匹配所有对象中的第偶数个
:odd:匹配所有对象中的第奇数个
:eq(index):匹配某一下表的单独某元素
:gt(index):匹配大于某一下标的所有元素
:lt(index):匹配小于某一下标的所有元素
:header:匹配所有的header元素,例如h1,h2,h3,h4,h5,h6
:animated:匹配所有有动画效果的元素
2. 内容过滤符:
:contains(text):匹配内部拥有该文本元素的对象,包含间接有用的情况
:empty:匹配所有没有子元素的对象
:has(selector):匹配所有至少含有一个子选择符的对象
:parent:匹配元素,这些元素包含子元素(包括文本元素)
3. 可见性过滤符:
:hidden:匹配所有隐藏对象,或者input中的hidden类型
:visible:匹配所有可见的对象
4. 子过滤符:
:nth-child(index/even/odd/equation):匹配子元素中的某一下标/偶数/奇数/等式的对象,:eq(index)只能匹配某单一对象的子元素特征,而这个方法可以匹配多个对象的某一子元素共同特征  nth-child过滤器,从1开始计数,这主要是与css标准兼容。
:first-child:匹配第一个子元素
:last-child:匹配最后一个子元素
这两个匹配符也可以对多个父对象的所有子元素进行匹配操作
:only-child:如果一个父元素只有一个子元素,就匹配这个子元素
5. 表单过滤符
:input  :匹配表单内input元素
:text  :匹配表单内input type为text的元素
:password  :匹配表单内input type为password的元素
:radio  :匹配表单内input type为radio的元素
:checkbox  :匹配表单内input type为checkbox的元素
:submit  :匹配表单内input type为submit的元素
:image  :匹配表单内image的元素
:reset  :匹配表单内input type为reset的元素 
:button  :匹配表单内input type为button的元素
:file  :匹配表单内input type为file的元素.
:hidden  :匹配表单内input type为hidden的元素或者hidden区域
:enabled  :匹配所有启用元素
:disabled  :匹配所有非启用元素
:checked  :匹配所有选中元素
:selected  :匹配所有下拉列表选中元素

查找选择器和筛选选择器的概念区别
为了能灵活的使用jQuery,认清查找选择器、筛选选择器之间的区别是非常重要的。筛选选择器,通过对元素应用更高的选择标准(如过滤特性或或其他相关值),缩小正在匹配的元素的集合;查找选择器,比如后代选择器(空格)、子节点选择器(>)以及兄弟节点选择器(+)等,则查找与已选择元素具有某种关系的其他元素,而不是通过把标准应用于已匹配元素来限制匹配范围。

Javascript 相关文章推荐
js小技巧--自动隐藏红叉叉
Aug 13 Javascript
jQuery ui插件的使用方法代码实例
May 08 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
Oct 08 Javascript
Ionic如何创建APP项目
Jun 03 Javascript
JavaScript代码里的判断小结
Aug 22 Javascript
深入了解JavaScript的逻辑运算符(与、或)
Dec 20 Javascript
值得分享和收藏的xmlplus组件学习教程
May 05 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
Jan 24 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
Feb 18 Javascript
Vue开发环境中修改端口号的实现方法
Aug 15 Javascript
微信小程序自定义tabBar在uni-app的适配详解
Sep 30 Javascript
vue实现锚点定位功能
Jun 29 Vue.js
Jquery实战_读书笔记1—选择jQuery
Jan 22 #Javascript
jquery last-child 列表最后一项的样式
Jan 22 #Javascript
javascript 拖放效果实现代码
Jan 22 #Javascript
JAVASCRIPT style 中visibility和display之间的区别
Jan 22 #Javascript
javascript 获取url参数和script标签中获取url参数函数代码
Jan 22 #Javascript
JavaScript 学习笔记(十三)Dom创建表格
Jan 21 #Javascript
JavaScript 学习笔记(十二) dom
Jan 21 #Javascript
You might like
PHP抽象类 介绍
2012/06/13 PHP
PHP循环函数使用介绍之PHP基础入门教程
2013/09/21 PHP
PHP二进制与字符串之间的相互转换教程
2016/10/14 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
写出更好的JavaScript程序之undefined篇(中)
2009/11/23 Javascript
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
JS获取html对象的几种方式介绍
2013/12/05 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
java和javascript获取word文档的书签位置对比
2014/06/19 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
微信中一些常用的js方法汇总
2015/03/12 Javascript
JavaScript中函数声明与函数表达式的区别详解
2016/08/18 Javascript
解决vue项目报错webpackJsonp is not defined问题
2018/03/14 Javascript
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
node.js如何根据URL返回指定的图片详解
2020/10/21 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
python网络编程学习笔记(10):webpy框架
2014/06/09 Python
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
python获得文件创建时间和修改时间的方法
2015/06/30 Python
深入理解Django的中间件middleware
2018/03/14 Python
keras中的loss、optimizer、metrics用法
2020/06/15 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
工程资料员岗位职责
2014/03/10 职场文书
个人公司授权委托书范本
2014/10/12 职场文书
毕业论文答辩演讲稿
2015/06/23 职场文书
高中优秀作文(范文)
2019/08/15 职场文书
经典人生语录分享:不畏将来,不念过去,笑对当下
2019/12/12 职场文书
Nginx内网单机反向代理的实现
2021/11/07 Servers
Python实现科学占卜 让视频自动打码
2022/04/09 Python
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript