jQuery学习之二 jQuery选择器
一、jQuery选择器是什么
1.CSS选择器
2.jQuery选择器
二、jQuery选择器的优势
1.简洁的写法
2.支持从CSS1到CSS3选择器
3.完善的处理机制
传统js选择器假如要操作的元素不存在会报错,jq不会,避免了判断存在操作的麻烦
当需要使用jq判断某个元素在网页上是否存在时不能用
if($('#id')){ xxx };
要使用if($('#id').length > 0){ xxx };
或先转化成DOM再判断if($('#id')[0]){ xxx };
三、jQuery选择器
1.基本选择器
#id
.class
element
*
selector1,selector2,...selectorN
2.层次选择器
$('.ancestorClass .sonClass'): 选中所有后代
$('.fatherClass > .sonClass'): 选中子元素
$('prev + next'): 选中代码顺序下一个兄弟
$('prev ~ silbings'): 选中代码顺序后所有兄弟
3.过滤选择器
(1)基本过滤选择器
:first $("div:first")
:last $("div:last")
:not(selector) $("input:not(.myClass)")
:even $("input:even")
:odd $("input:odd")
:eq(index) $("input:eq(1)")
:gt(index) $("input:gt(1)")
:lt(index) $("input:lt(1)")
:header 选取所有标题元素
:animated 选取当前正在执行动画的所有元素
:focus 选取当前获取焦点的元素
(2)内容过滤选择器
:contains(text) 选取文本内容为“text”的元素
:empty 选取不包含子元素或者文本的空元素
:has(selector) 选取含有选择器所匹配的元素的选择器
:parent 选择含有子元素或者文本的元素
(3)可见性过滤选择器
:hidden 选取所有不可见的元素
:visible 选取所有可见的元素
(4)属性过滤选择器
[attribute] 拥有属性
[attribute=value] 属性等于
[attribute!=value] 属性不等于
[attribute^=value] 属性以什么开头
[attribute$=value] 属性以什么结尾
[attribute*=value] 属性中包含什么值
[attribute|=value] 属性以什么为前缀并且后跟'-'做连接
[attribute~=value] 属性以空格分隔的值中含有某值
[attribute1][attribute2][attributeN] 并列过滤
(5)子元素过滤选择器
:nth-child(index/even/odd/equation) 选取每个父元素下的第index个元素或奇偶元素.(index从1算起)、
eg: nth-child(even) nth-child(odd) nth-child(3n) nth-child(3n+1)
:first-child 选取每个父元素的第1个子元素
:last-child 选取每个父元素的最后一个元素
:only-child 如果某个元素是它父元素的唯一子元素,则被选中
(6)表单对象属性过滤选择器
:enabled 选取所有可用元素
:disabled 选取所有不可用元素
:checked 选取所有被选中的元素(单选框,复选框)
:selected 选取所有被选中的选项元素(下拉列表)
判断是否聚焦、可视等可使用is(),eg:
$("xxx").is(":visible")
$("input").is(":enabled")
4.表单选择器
:input 选取所有<input>、<textarea>、<select>、<button> PS.注意$(":input")和$("input")的区别
:text
:password
:radio
:checkbox
:submit
:image
:reset
:button
:file
:hidden
四、应用jQuery改写示例
五、选择器中的一些注意事项
1.选择器中最好不要含有"."、"#"、"("或"]"等特殊字符
如果含有这些特殊字符则需要加转义符转义
eg: <div id="id#b"></div> → 获取:$("#id#b")× $("#id\\#b")√
2.属性选择器的@符号问题
旧版本使用了@,在新版本中已被淘汰
3.选择器中含有空格的注意事项
eg: $(".test :hidden") 指的是带class="test"元素内的被hidden元素
$(".test:hidden") 指的是带class="test"且被隐藏的元素
六、案例研究
filter(expr):筛选出与指定表达式匹配的元素集合,其中expr可以是多个选择器的组合
七、其他选择器
jQuery学习之二 jQuery选择器的更多相关文章
- jQuery学习笔记(二)jQuery中DOM操作
目录 DOM操作分类 jQuery中的各种DOM操作 查找节点 创建节点 删除节点 复制节点 替换节点 包裹节点 属性操作 样式操作 对HTML.文本和值的操作 遍历节点 CSS-DOM操作 小结 本 ...
- jQuery 学习笔记:jQuery 代码结构
jQuery 学习笔记:jQuery 代码结构 这是我学习 jQuery 过程中整理的笔记,这一部分主要包括 jQuery 的代码最外层的结构,写出来整理自己的学习成果,有错误欢迎指出. jQuery ...
- jQuery学习笔记之jQuery的Ajax(3)
jQuery学习笔记之jQuery的Ajax(3) 6.jQuery的Ajax插件 源码地址: https://github.com/iyun/jQueryDemo.git ------------- ...
- jQuery学习笔记(一)jQuery选择器
目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...
- jquery学习笔记(一):选择器
内容来自[汇智网]jquery学习课程 1.1 基础选择器 选择器 功能 返回值 #id 根据给定的id匹配一个元素 单个元素 element 根据给定的元素名匹配所有元素 元素集合 .class 根 ...
- jQuery学习-----(二)JQuery对象与DOM对象的区别与转换
1.jQuery对象和DOM对象的区别 DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象; eg: var domObj = ...
- jquery学习笔记(二):DOM元素操作
内容来自[汇智网]jquery学习课程 2.1 元素属性操作 1.获取元素的属性 语法:attr(name) 参数name表示属性的名称 2.设置元素的属性 单个属性设置语法:attr(key,val ...
- Jquery学习(二)
滚轮事件与函数节流 jquery.mousewheel插件使用 jquery中没有鼠标滚轮事件,原生js中的鼠标滚轮事件不兼容,可以使用jquery的滚轮事件插件jquery.mousewheel.j ...
- jQuery学习之旅 Item2 选择器【二】
这里接着上一个Item1 把jQuery的选择器讲完.主要有:属性过滤器和子元素过滤器 点击"名称"会跳转到此方法的jQuery官方说明文档. 5. 属性过滤器 Attribute ...
随机推荐
- PCB genesis连孔加除毛刺孔(圆孔与圆孔)实现方法(一)
一.为什么 连孔加除毛刺孔 原因是 PCB板材中含有玻璃纤维, 毛刺产生位置在于2个孔相交位置,由于此处钻刀受力不均导致纤维切削不断形成毛刺 ,为了解决这个问题:在钻完2个连孔后,在相交处再钻一个孔, ...
- Paratroopers(最小割模型)
http://poj.org/problem?id=3308 题意:一个m*n的网格,有L位火星空降兵降落在网格中,地球卫士为了能同时消灭他们,在网格的行或列安装了一个枪支,每行或每列的枪支都能消灭这 ...
- es6 import 与 export
1.export 命令 export 命令用于规定模块的对外接口. 一个模块就是一个独立的文件.该文件内部所有的变量,外部无法获取.要想外部能够读取模块内部的某个变量,就必须使用 export 关键字 ...
- Django day30 自定义配置settings文件,分页器,版本控制
一:自定义配置settings文件 1.有两套配置文件,默认配置,用户的配置 2.如果某个字段,用户配置了,就用用户的,如果没配置,就用默认的 二:分页器 1.三种分页: # 普通分页 from re ...
- DFS知识点
2019-06-01 11:14:34 加油,坚持!!! 1. 2. 3.
- Map,Filter 和 Reduce
Map会将一个函数映射到一个输入列表的所有元素上 map(function_to_apply, list_of_inputs) items = [1, 2, 3, 4, 5] squared = li ...
- hdu2026(water~~)
http://acm.hdu.edu.cn/showproblem.php?pid=2026 #include<iostream> #include<stdio.h> #inc ...
- 342 Power of Four 4的幂
给定一个整数 (32位有符整数型),请写出一个函数来检验它是否是4的幂.示例:当 num = 16 时 ,返回 true . 当 num = 5时,返回 false.问题进阶:你能不使用循环/递归来解 ...
- 326 Power of Three 3的幂
给出一个整数,写一个函数来确定这个数是不是3的一个幂.后续挑战:你能不使用循环或者递归完成本题吗? 详见:https://leetcode.com/problems/power-of-three/de ...
- 【深度学习笔记】(一)Mac下TensorFlow安装及环境搭建
本文由@ray 出品,转载请注明出处. 文章链接:http://www.cnblogs.com/wolfray/p/7828903.html 在学习了一段时间台大李宏毅关于deep learning ...