jQuery(selector) / $(selector)

selector 选择器有多种形式,下面是 #ID,.class,element

   

jQuery 支持的 CSS 层级关系选择器

  

jQuery 支持的 CSS 属性选择器

  

 jQuery 的过滤器 filter

  过滤器的写法以冒号 “:filter” 开头,用于过滤 $() 返回对象中的数据,以达到精确查找的目的。

  1)位置过滤器

    

    注意,n(索引号) 从 0 开始,与 CSS 中(索引号从 1 开始)的功能不一致。
      比如 “:even” 过滤器,认为第一个匹配的 DOM 元素的索引号为 0 ,而 CSS 中的 "even" 认为第一个匹配的 DOM 元素
      索引号为 1。所以,在给 table 行 tr 设置交替背景颜色时要小心。

    注意,可以给 :eq(n) ,:gt(n),:lt(n),的 n 传递一个负数,表示从最后一个元素开始,进行倒序匹配。

  2)child filters

    

    注意,:nth-child() 与 :eq() 不同,经常容易混淆。

      使用  :nth-child()  匹配查找时,不管上下文中包含的子元素类型是啥,都要计算,都占一个索引号位置。

      使用 :eq() 匹配查找时,不管上下文中 selector 类型元素的前面和后面有多少其他类型的兄弟元素,它都一概忽略,

        只计算 selector 类型元素的索引号。

      再注意, :nth-child() 是按照 CSS 规范实现的,所以它的索引号是从 1 开始的,而不是 0

  3)Form filter

    一般情况下,可以写成 $('input[type="checkbox"][checked]'),

    CSS 提供了一些伪类,那么可以写成 $('input[type="checkbox"]:checked'),

    jQuery 提供了更为方便的一些自定义过滤器,那么可以写成 $('input:checkbox:checked')。

    

    可以组合 CSS 过滤器以及 jQuery 自定义过滤器,例如: $('input:checkbox:checked:enabled');

  4)content filter

    

  5)其他过滤器

    

    示例:$('input:not(:checkbox)')、$(':not(img[src*="dog"])')、$('em:lang(zh-CN)')

    提示:jQuery 3 修改了 :visible 和 :hidden 的意思,

      :visible,匹配任何 layout boxes,即使它们的高度和宽度为0。比如 br 元素以及没有内容的 inline 元素。

   6)创建自定义过滤器 

$.expr[':'].pointsHigherThan = $.expr.createPseudo(function(filterParam) {
  var points = parseInt(filterParam, 10);
    return function(element, context, isXml) {
        return element.getAttribute('data-points') > points;
    }
}

    分为三个步骤:

    第一步,给自定义过滤器起一个名字,比如 “pointsHigherThan”

    第二步,使用 createPseudo(filterParam) 函数创建过滤器对应的匿名函数,filterParam 参数的名字可随便起,
        这个参数是一个传给过滤器函数的可选参数。类似于传给过滤器 :eq(n) 的参数 n。

    第三步,在过滤器函数中再返回另外一个匿名函数,在这个函数内部编写过滤逻辑代码,最后返回 boolean 值表示是否匹配?

        jQuery 传递给此匿名函数三个参数,

        element 参数,是一个 DOMElement 元素,一次传递一个。

        context 参数,匹配元素的上下文参数

        isXML 参数,确定当前操作是在 XML 文档中吗?

    示例如下:$('.levels li:pointsHeighThan(20)');

    

    

jQuery in action 3rd - Selecting elements的更多相关文章

  1. jQuery in action 3rd - Working with properties, attributes, and data

    properties properties 是 JavaScript 对象内在的属性,可以进行动态创建,修改等操作. attributes 指的是 DOM 元素标记出来的属性,不是实例对象的属性. 例 ...

  2. jQuery in action 3rd - Operating on a jQuery collection

    1.创建新 DOM 元素 $('<div>Hello</div>'); $('<img>', { src: 'images/little.bear.png', al ...

  3. jQuery in action 3rd - Introducing jQuery

    2014 年 10 月, jQuery Foundation 的总裁 Dave Methvin 发布了一篇博客(http://blog.jquery.com/2014/10/29/jquery-3-0 ...

  4. JQuery IN ACTION读书笔记之一: JQuery选择器

    本章关注两个通过$()使用的常用功能: 通过选择器选择DOM元素,创建新DOM元素. 2.1 选择操作元素 JQuery采用了CSS的语法,而CSS的语法你可能已经很熟悉了.当然,JQuery也做了扩 ...

  5. jQuery 实战读书笔记之第六章:事件本质

    理解浏览器事件模型 understandEventModel.html 代码: <!DOCTYPE HTML> <html> <head> <title> ...

  6. jQuery 实战读书笔记之第五章:使用 jQuery 操作页面

    html 如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> &l ...

  7. 转:VS2008 vs2010中JQUERY智能提醒

    第一步: 安装VS 2008 SP1 VS 2008 SP1 在Visual Studio中加了更丰富的JavaScript intellisense支持,对很大部分的JavaScript库加了代码完 ...

  8. (2)入门指南——(7)添加jquery代码(Adding our jQuery code)

    Our custom code will go in the second, currently empty, JavaScript file which we included from the H ...

  9. jQuery初探 jQuery选取和操纵元素的特点

    jQuery初探 jQuery选取和操纵元素的特点 JavaScript选取元素 先来看看不用jQuery的时候我们是怎么处理元素选取的. JavaScript选取元素的时候,可以根据id获取元素,当 ...

随机推荐

  1. 【VB.NET】文本框快捷键支持

    我们知道VB.NET中的文本框是不支持Ctrl+A的快捷键的. 如果让它支持呢? Private Sub txtSQL_KeyDown(ByVal sender As Object, ByVal e ...

  2. python 过滤出某后缀名文件

    以从某文件夹过滤出py文件为例: 法1: import glob import os os.chdir(“./”) for file in glob.glob(“*.py”): print file ...

  3. git学习系列--六分之一

    版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统,可以对任何类型的文件进行版本控制. 细说分布式版本控制系统 在这类系统中,像 Git,Mercurial,Bazaar 以 ...

  4. Python复习笔记-字典和文件操作

    抽时间回顾2年前自己做过的python工具,突然感觉不像自己写的,看来好久没用过python的字典和文件操作了,查询资料和网页,整理如下: 一.字典 键值对的集合(map) 字典是以大括号“{}”包围 ...

  5. listed

    http://sebastianruder.com/optimizing-gradient-descent/ http://www.nag.co.uk/pss/nag-and-algorithmic- ...

  6. noip2008解题报告

    T1.笨小猴 给出一个单词求出现次数最多和最少之差是不是质数. 很水的.统计一下反正就26个字母. T2.火柴棒等式 给出火柴棒数,求形如 a+b=c能拼成的等式个数. 先减去4根(+,=),然后枚举 ...

  7. java之注解Annotation

    元注解:负责注解其他注解,java5提供的4个meta-annotation元注解 @Target 规定注解修饰的范围 ElementType.CONSTRUCTOR:构造器声明 ElementTyp ...

  8. scrollWidth的巧妙运用

    再了无生趣的工作也是能够帮助我们提高的~ 最近工作比较无聊,于是就想到了写一个滚动条插件,在借鉴了mCustomerScrollbar这个组件之后我简单的写了一个类似的,当然,相比于它的2000多行代 ...

  9. 关于HTML(JSP)页面的缓存设置 -- cache-control

    我在项目中遇到这么一个问题,当用户登录了系统后,进入并copy下系统某个页面的link,然后关闭浏览器,重新打开浏览器,把刚才复制好的link paste到浏览器的地址栏去,直接enter,发现浏览器 ...

  10. 扩展运算是个影藏boss

    short a =1; a+=1; //实际上是 a=(short)(a+1); 而 short a=1; a=a+1; //不报错,应为进行算术逻辑运算会默认转为int类型,但是你要把int类型赋值 ...