一、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选择器的更多相关文章

  1. jQuery学习笔记(二)jQuery中DOM操作

    目录 DOM操作分类 jQuery中的各种DOM操作 查找节点 创建节点 删除节点 复制节点 替换节点 包裹节点 属性操作 样式操作 对HTML.文本和值的操作 遍历节点 CSS-DOM操作 小结 本 ...

  2. jQuery 学习笔记:jQuery 代码结构

    jQuery 学习笔记:jQuery 代码结构 这是我学习 jQuery 过程中整理的笔记,这一部分主要包括 jQuery 的代码最外层的结构,写出来整理自己的学习成果,有错误欢迎指出. jQuery ...

  3. jQuery学习笔记之jQuery的Ajax(3)

    jQuery学习笔记之jQuery的Ajax(3) 6.jQuery的Ajax插件 源码地址: https://github.com/iyun/jQueryDemo.git ------------- ...

  4. jQuery学习笔记(一)jQuery选择器

    目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...

  5. jquery学习笔记(一):选择器

    内容来自[汇智网]jquery学习课程 1.1 基础选择器 选择器 功能 返回值 #id 根据给定的id匹配一个元素 单个元素 element 根据给定的元素名匹配所有元素 元素集合 .class 根 ...

  6. jQuery学习-----(二)JQuery对象与DOM对象的区别与转换

    1.jQuery对象和DOM对象的区别 DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象; eg: var domObj = ...

  7. jquery学习笔记(二):DOM元素操作

    内容来自[汇智网]jquery学习课程 2.1 元素属性操作 1.获取元素的属性 语法:attr(name) 参数name表示属性的名称 2.设置元素的属性 单个属性设置语法:attr(key,val ...

  8. Jquery学习(二)

    滚轮事件与函数节流 jquery.mousewheel插件使用 jquery中没有鼠标滚轮事件,原生js中的鼠标滚轮事件不兼容,可以使用jquery的滚轮事件插件jquery.mousewheel.j ...

  9. jQuery学习之旅 Item2 选择器【二】

    这里接着上一个Item1 把jQuery的选择器讲完.主要有:属性过滤器和子元素过滤器 点击"名称"会跳转到此方法的jQuery官方说明文档. 5. 属性过滤器 Attribute ...

随机推荐

  1. Akka源码分析-Persistence

    在学习akka过程中,我们了解了它的监督机制,会发现actor非常可靠,可以自动的恢复.但akka框架只会简单的创建新的actor,然后调用对应的生命周期函数,如果actor有状态需要回复,我们需要h ...

  2. 面向对象之继承-5种JavaScript继承的方法

    今天我们讨论一下常用的几种继承方法:首先我们创建一个动物函数Animal: function Animal () { this.species = '动物' }再写准备名叫猫咪的函数Cat: func ...

  3. android GPS 定位,取位置信息

    现在很多app ,需要取位置信息,所以我也做了一个模块用来取位置信息:   加入位置服务所需的权限: <uses-permission android:name="android.pe ...

  4. 通过Oracle透明网关连接Sybase

    Oracle公司提出的透明网关技术可用于实现与其他多种类型的数据库的互联,实现不同类型数据之间建立连接,方便于使用者进行查询.近日,在公司的某项目的实施过程中,开发人员需要访问Sybase数据库中的某 ...

  5. Python 如何在csv中定位非数字和字母的符号

    在数据清洗过程中,有时不仅希望去掉脏数据,更希望定位脏数据的位置,例如从csv里面定位非数字和字母单元格的位置,在使用isdigit().isalpha().isalnum()时无法判断浮点数,会将浮 ...

  6. Elasticsearch之CURL命令的DSL查询

    它是Domain Specific Language领域特定语言. https://www.elastic.co/guide/en/elasticsearch/reference/current/in ...

  7. C#语言最基础的认识变量

    变量是指一块存储数据的内存空间,并且该内存区域的数据内容可以发生变化. 变量是必须先声明后赋值. 基本的语法:数据类型+变量名: 变量名=数据: 简单的使用技巧:声明赋值简写 Static void ...

  8. html5——动画案例(时钟)

    1.秒钟转360度需要60s分60步 2.分针转360度需要3600s分60步 3.秒钟转360度需要43200s分60步 <!DOCTYPE html> <html lang=&q ...

  9. [Windows Server 2012] IIS自带FTP配置方法

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:IIS自带FT ...

  10. Prime算法生成最小生成树

    虽说是生成树,但我只将生成的边输出了.至于怎么用这些边来创建树...我不知道_(:з」∠)_ //Prime方法生成最小生成树 void GraphAdjacencyListWeight::Gener ...