zoukankan      html  css  js  c++  java
  • jQuery选择器

    jQuery的选择器可以分为以下的四类:

     (一) 基本选择器

    1. ID选择器    eg: $(“#nav”)选取ID为nav的元素

    2. 类选择器    eg: $(“.fruit”)选取class为fruit 的元素

    3. 标签选择器 eg: $(“p”)选取所有的p元素

    4. 通用选择器 eg: $(“*”)选取所有的元素

    5. 群组选择器 eg: $(“li,span.active”)选取所有li元素和class为active的span元素

    (二) 层次选择器

    1. 子选择器$( "parent > child" ):选取所有指定元素的直接后代元素,即子元素,可以用children()代替它。

      eg: $(“body>div”)相当于$(“body”).children(“div”);

    2. 后代选择器$("ancestor descendant"):选取给定的祖先元素的所有后代元素,可以用find()代替它。

      eg: $(“ul li”)相当于$(“ul”).find(“li);

    3. 相邻兄弟选择器$("prev + next"):选取所有紧接在“prev”元素后的“next”元素,可以用next()替代它。

      eg : $(“a+ul”)相当于$(“a”).next();

    相邻兄弟选择器要满足三个条件:

       1)它们必须是兄弟,即他们的父元素为同一个

       2)next必须在prev后面

       3)它们必须相邻

    4. 一般兄弟选择器 $("prev ~ siblings"),选取“prev”元素之后的所有兄弟元素,可以用nextAll()代替它。

      eg : $(“a~span”)相当于$(“a”).nextAll("span");

    一般兄弟选择器两个条件:

    1.它们必须是兄弟,即他们的父元素为同一个

    2.siblings必须在prev后面

    Attentions:

    1)siblings()可以跟同辈的元素匹配,无论位置的先后。 next()只能跟紧随其后的一个同辈元素匹配 nextAll()只能跟其后的同辈元素匹配

    2)区分$(“ul.active”)和$(“ul .active”) 二者的差别在于空格,前者会被解析为“获取class为active的ul元素”,而后者则是“获取ul元素的后代元素中class为active的元素”

    (一) 基本选择器 1. ID选择器 eg: $(“#nav”)选取ID为nav的元素 2. 类选择器 eg: $(“.fruit”)选取class为fruit 的元素 3. 标签选择器 eg: $(“p”)选取所有的p元素 4. 通用选择器 eg: $(“*”)选取所有的元素 5. 群组选择器 eg: $(“li,span.active”)选取所有li元素和class为active的span元素
    作者: 人生还有多少个二十年
    链接:http://www.imooc.com/article/11319
    来源:慕课网
    本文原创发布于慕课网 ,转载请注明出处,谢谢合作!
    二) 层次选择器 1. 子选择器$( "parent > child" ):选取所有指定元素的直接后代元素,即子元素,可以用children()代替它。 eg: $(“body>div”)相当于$(“body”).children(“div”); 2. 后代选择器$("ancestor descendant"):选取给定的祖先元素的所有后代元素,可以用find()代替它 eg: $(“ul li”)相当于$(“ul”).find(“li); 3. 相邻兄弟选择器$("prev + next"):选取所有紧接在“prev”元素后的“next”元素,可以用next()替代它。 eg : $(“a+ul”)相当于$(“a”).next(); 相邻兄弟选择器要满足三个条件: 1)它们必须是兄弟,即他们的父元素为同一个 2)next必须在prev后面 3)它们必须相邻 4. 一般兄弟选择器 $("prev ~ siblings"),选取“prev”元素之后的所有兄弟元素,可以用nextAll()代替它。 eg : $(“a~span”)相当于$(“a”).nextAll("span"); 一般兄弟选择器两个条件: 1.它们必须是兄弟,即他们的父元素为同一个 2.siblings必须在prev后面 Attentions: 1)siblings()可以跟同辈的元素匹配,无论位置的先后。 next()只能跟紧随其后的一个同辈元素匹配 nextAll()只能跟其后的同辈元素匹配 2)区分$(“ul.active”)和$(“ul .active”) 二者的差别在于空格,前者会被解析为“获取class为active的ul元素”,而后者则是“获取ul元素的后代元素中class为active的元素”
    作者: 人生还有多少个二十年
    链接:http://www.imooc.com/article/11319
    来源:慕课网
    本文原创发布于慕课网 ,转载请注明出处,谢谢合作!

     (三) 过滤选择器

    1. 基本过滤选择器

      1):first/:last

      2):even/:odd/:eq()/:gt()/:lt()

      3):not()

    Attentions:

      1.:first,:last,:eq()都只能选择一个元素

      2.:even,:odd,:eq(),:gt(),:lt()都是靠索引来选择元素的,而且索引的起始值都为0,而:nth-child()的索引起始值为1。

    以下举几个例子:

      (1)tr:even选取的是索引为偶数(0,2,4,6...)的行,即奇数行(第1,3,5,7...行)

      (2)div:eq(2)选取的是索引为2的div元素,即第3个div元素

      (3)span:lt(2)选取的是索引小于2的span元素,索引为0,1的元素,也就是说,选择的是第1个和第2个span

      3. eq(0)相当于:first,eq(-1)相当于:last

      4. :first相当于.first(),:last相当于.last(),:eq()相当于.eq(),:not()相当于.not()

    2. 内容过滤选择器

      $(":contains(text)")是根据元素所包含的文本来筛选的

      $(":has(selector)")是根据元素所包含的选择器来筛选的

      $(":parent")选择的是包含子元素或文本的元素

      $(":empty")跟$(":parent")完全相反,选择的是既不包含子元素,又不包含文本的元素

    3. 可见性过滤选择器

      :visible

      :hidden

      Attentions: 1) 如果元素占据文档一定的空间,则被认为是可见的,同理,不占空间则视为不可见。

            2) visibility为hidden, opacity为0的元素为可见

    4. 属性过滤选择器

       [attribute]

    [attribute=value]/[attribute!=value]

    [attribute^=value]/[attribute$=value]

    [attribute*=value]

    [attrSel1][attrSel2]

    [attrSelN] [attribute|=value]

    [attribute~=value]

      eg: $(“[title]”)选中有title属性的元素

         $(“[title=’apple’]”)选中有title属性值为apple的元素

         $(“[title!=’apple’]”)选中有title属性值不为apple的元素

         $(“[title^=’a’]”)选中有title属性值以a开头的元素

         $(“[title$=’a’]”)选中有title属性值以a结尾的元素

         $(“[title*=’a’]”)选中有title属性值中含有a的元素

         $(“[title][id][src]”)选中同时具有title,id和src属性的元素

         $(“[title=’a’]”)选中有title属性值为a或者title属性值以a为前缀的元素

         $(“[title~=’a’]”)选中title属性值用空格分隔的值中含有a的元素

    5. 子元素过滤选择器

      :first-child/:last-child

      :nth-child()/:nth-last-child()

      :only-child

    Attentions:

    1) 区分:nth-child(n) 与 :nth-last-child(n) 前者是从前往后计算,后者从后往前计算

    2):first-child相当于nth-child(1),:last-child相当于nth-last-child(1)

    3)所有的选择器都只能往后选,往下选,要实现往前选,往上选,则要利用一些现成的方法。eg : parent(),closest()

    4)区分:first/:first-child,:last/:last-child,:eq()/:nth-child() 这三对选择器的差别是类似的,下面就:eq()/:nth-child()做个说明: :eq()的索引是以0开始的,并且只能选中一个元素,而:nth-child()的索引是以1开始的,并且能够选中多个元素。

    6. 表单对象属性过滤选择器

      1):enables/:disabled

      2):checked/:selected

    (四) 表单选择器

    1. :input选取所有的、、<select>、<button>元素
    2. :text, :password , :radio , :checkbox , :submit , :image , :reset , :button , :file , :hidden

      Attentions:  

      1).除了:input筛选选择器,几乎每个表单类别筛选器都对应一个input元素的type值。大部分表单类别筛选器可以使用属性筛选器替换。比如 $(':password') == $('[type=password]')  

      2).区分$(“input”)和$(“:input”)$(“input”)获取的是<input>元素,而:input选取所有的<input>、<textarea>、<select>、<button>元素

    (一) 基本选择器 1. ID选择器 eg: $(“#nav”)选取ID为nav的元素 2. 类选择器 eg: $(“.fruit”)选取class为fruit 的元素 3. 标签选择器 eg: $(“p”)选取所有的p元素 4. 通用选择器 eg: $(“*”)选取所有的元素 5. 群组选择器 eg: $(“li,span.active”)选取所有li元素和class为active的span元素 (二) 层次选择器 1. 子选择器$( "parent > child" ):选取所有指定元素的直接后代元素,即子元素,可以用children()代替它。 eg: $(“body>div”)相当于$(“body”).children(“div”); 2. 后代选择器$("ancestor descendant"):选取给定的祖先元素的所有后代元素,可以用find()代替它 eg: $(“ul li”)相当于$(“ul”).find(“li); 3. 相邻兄弟选择器$("prev + next"):选取所有紧接在“prev”元素后的“next”元素,可以用next()替代它。 eg : $(“a+ul”)相当于$(“a”).next(); 相邻兄弟选择器要满足三个条件: 1)它们必须是兄弟,即他们的父元素为同一个 2)next必须在prev后面 3)它们必须相邻 4. 一般兄弟选择器 $("prev ~ siblings"),选取“prev”元素之后的所有兄弟元素,可以用nextAll()代替它。 eg : $(“a~span”)相当于$(“a”).nextAll("span"); 一般兄弟选择器两个条件: 1.它们必须是兄弟,即他们的父元素为同一个 2.siblings必须在prev后面 Attentions: 1)siblings()可以跟同辈的元素匹配,无论位置的先后。 next()只能跟紧随其后的一个同辈元素匹配 nextAll()只能跟其后的同辈元素匹配 2)区分$(“ul.active”)和$(“ul .active”) 二者的差别在于空格,前者会被解析为“获取class为active的ul元素”,而后者则是“获取ul元素的后代元素中class为active的元素” (三) 过滤选择器 1. 基本过滤选择器 1):first/:last 2):even/:odd/:eq()/:gt()/:lt() 3):not() Attentions: 1.:first,:last,:eq()都只能选择一个元素 2.:even,:odd,:eq(),:gt(),:lt()都是靠索引来选择元素的,而且索引的起始值都为0,而:nth-child()的索引起始值为1。 以下举几个例子: (1)tr:even选取的是索引为偶数(0,2,4,6...)的行,即奇数行(第1,3,5,7...行) (2)div:eq(2)选取的是索引为2的div元素,即第3个div元素 (3)span:lt(2)选取的是索引小于2的span元素,索引为0,1的元素,也就是说,选择的是第1个和第2个span 3. eq(0)相当于:first,eq(-1)相当于:last 4. :first相当于.first(),:last相当于.last(),:eq()相当于.eq(),:not()相当于.not() 2. 内容过滤选择器 $(":contains(text)")是根据元素所包含的文本来筛选的 $(":has(selector)")是根据元素所包含的选择器来筛选的 $(":parent")选择的是包含子元素或文本的元素 $(":empty")跟$(":parent")完全相反,选择的是既不包含子元素,又不包含文本的元素 3. 可见性过滤选择器 :visible :hidden Attentions: 1) 如果元素占据文档一定的空间,则被认为是可见的,同理,不占空间则视为不可见。 2) visibility为hidden, opacity为0的元素为可见 4. 属性过滤选择器 [attribute] [attribute=value]/[attribute!=value] [attribute^=value]/[attribute$=value] [attribute*=value] [attrSel1][attrSel2][attrSelN] [attribute=value] [attribute~=value] eg: $(“[title]”)选中有title属性的元素 $(“[title=’apple’]”)选中有title属性值为apple的元素 $(“[title!=’apple’]”)选中有title属性值不为apple的元素 $(“[title^=’a’]”)选中有title属性值以a开头的元素 $(“[title$=’a’]”)选中有title属性值以a结尾的元素 $(“[title*=’a’]”)选中有title属性值中含有a的元素 $(“[title][id][src]”)选中同时具有title,id和src属性的元素 $(“[title=’a’]”)选中有title属性值为a或者title属性值以a为前缀的元素 $(“[title~=’a’]”)选中title属性值用空格分隔的值中含有a的元素 5. 子元素过滤选择器 :first-child/:last-child :nth-child()/:nth-last-child() :only-child Attentions: 1) 区分:nth-child(n) 与 :nth-last-child(n) 前者是从前往后计算,后者从后往前计算 2):first-child相当于nth-child(1),:last-child相当于nth-last-child(1) 3)所有的选择器都只能往后选,往下选,要实现往前选,往上选,则要利用一些现成的方法。eg : parent(),closest() 4)区分:first/:first-child,:last/:last-child,:eq()/:nth-child() 这三对选择器的差别是类似的,下面就:eq()/:nth-child()做个说明: :eq()的索引是以0开始的,并且只能选中一个元素,而:nth-child()的索引是以1开始的,并且能够选中多个元素。 6. 表单对象属性过滤选择器 1):enables/:disabled 2):checked/:selected (四) 表单选择器 1. :input选取所有的
    (一) 基本选择器 1. ID选择器 eg: $(“#nav”)选取ID为nav的元素 2. 类选择器 eg: $(“.fruit”)选取class为fruit 的元素 3. 标签选择器 eg: $(“p”)选取所有的p元素 4. 通用选择器 eg: $(“*”)选取所有的元素 5. 群组选择器 eg: $(“li,span.active”)选取所有li元素和class为active的span元素 (二) 层次选择器 1. 子选择器$( "parent > child" ):选取所有指定元素的直接后代元素,即子元素,可以用children()代替它。 eg: $(“body>div”)相当于$(“body”).children(“div”); 2. 后代选择器$("ancestor descendant"):选取给定的祖先元素的所有后代元素,可以用find()代替它 eg: $(“ul li”)相当于$(“ul”).find(“li); 3. 相邻兄弟选择器$("prev + next"):选取所有紧接在“prev”元素后的“next”元素,可以用next()替代它。 eg : $(“a+ul”)相当于$(“a”).next(); 相邻兄弟选择器要满足三个条件: 1)它们必须是兄弟,即他们的父元素为同一个 2)next必须在prev后面 3)它们必须相邻 4. 一般兄弟选择器 $("prev ~ siblings"),选取“prev”元素之后的所有兄弟元素,可以用nextAll()代替它。 eg : $(“a~span”)相当于$(“a”).nextAll("span"); 一般兄弟选择器两个条件: 1.它们必须是兄弟,即他们的父元素为同一个 2.siblings必须在prev后面 Attentions: 1)siblings()可以跟同辈的元素匹配,无论位置的先后。 next()只能跟紧随其后的一个同辈元素匹配 nextAll()只能跟其后的同辈元素匹配 2)区分$(“ul.active”)和$(“ul .active”) 二者的差别在于空格,前者会被解析为“获取class为active的ul元素”,而后者则是“获取ul元素的后代元素中class为active的元素” (三) 过滤选择器 1. 基本过滤选择器 1):first/:last 2):even/:odd/:eq()/:gt()/:lt() 3):not() Attentions: 1.:first,:last,:eq()都只能选择一个元素 2.:even,:odd,:eq(),:gt(),:lt()都是靠索引来选择元素的,而且索引的起始值都为0,而:nth-child()的索引起始值为1。 以下举几个例子: (1)tr:even选取的是索引为偶数(0,2,4,6...)的行,即奇数行(第1,3,5,7...行) (2)div:eq(2)选取的是索引为2的div元素,即第3个div元素 (3)span:lt(2)选取的是索引小于2的span元素,索引为0,1的元素,也就是说,选择的是第1个和第2个span 3. eq(0)相当于:first,eq(-1)相当于:last 4. :first相当于.first(),:last相当于.last(),:eq()相当于.eq(),:not()相当于.not() 2. 内容过滤选择器 $(":contains(text)")是根据元素所包含的文本来筛选的 $(":has(selector)")是根据元素所包含的选择器来筛选的 $(":parent")选择的是包含子元素或文本的元素 $(":empty")跟$(":parent")完全相反,选择的是既不包含子元素,又不包含文本的元素 3. 可见性过滤选择器 :visible :hidden Attentions: 1) 如果元素占据文档一定的空间,则被认为是可见的,同理,不占空间则视为不可见。 2) visibility为hidden, opacity为0的元素为可见 4. 属性过滤选择器 [attribute] [attribute=value]/[attribute!=value] [attribute^=value]/[attribute$=value] [attribute*=value] [attrSel1][attrSel2][attrSelN] [attribute=value] [attribute~=value] eg: $(“[title]”)选中有title属性的元素 $(“[title=’apple’]”)选中有title属性值为apple的元素 $(“[title!=’apple’]”)选中有title属性值不为apple的元素 $(“[title^=’a’]”)选中有title属性值以a开头的元素 $(“[title$=’a’]”)选中有title属性值以a结尾的元素 $(“[title*=’a’]”)选中有title属性值中含有a的元素 $(“[title][id][src]”)选中同时具有title,id和src属性的元素 $(“[title=’a’]”)选中有title属性值为a或者title属性值以a为前缀的元素 $(“[title~=’a’]”)选中title属性值用空格分隔的值中含有a的元素 5. 子元素过滤选择器 :first-child/:last-child :nth-child()/:nth-last-child() :only-child Attentions: 1) 区分:nth-child(n) 与 :nth-last-child(n) 前者是从前往后计算,后者从后往前计算 2):first-child相当于nth-child(1),:last-child相当于nth-last-child(1) 3)所有的选择器都只能往后选,往下选,要实现往前选,往上选,则要利用一些现成的方法。eg : parent(),closest() 4)区分:first/:first-child,:last/:last-child,:eq()/:nth-child() 这三对选择器的差别是类似的,下面就:eq()/:nth-child()做个说明: :eq()的索引是以0开始的,并且只能选中一个元素,而:nth-child()的索引是以1开始的,并且能够选中多个元素。 6. 表单对象属性过滤选择器 1):enables/:disabled 2):checked/:selected (四) 表单选择器 1. :input选取所有的
    jQuery的选择器可以分为以下的四类:
    作者: 人生还有多少个二十年
    链接:http://www.imooc.com/article/11319
    来源:慕课网
    本文原创发布于慕课网 ,转载请注明出处,谢谢合作!
    jQuery的选择器可以分为以下的四类:
    作者: 人生还有多少个二十年
    链接:http://www.imooc.com/article/11319
    来源:慕课网
    本文原创发布于慕课网 ,转载请注明出处,谢谢合作!
    jQuery的选择器可以分为以下的四类:
    作者: 人生还有多少个二十年
    链接:http://www.imooc.com/article/11319
    来源:慕课网
    本文原创发布于慕课网 ,转载请注明出处,谢谢合作!
    塞阀13123123123213jQuery的选择器可以分为以下的四类:
    作者: 人生还有多少个二十年
    链接:http://www.imooc.com/article/11319
    来源:慕课网
    本文原创发布于慕课网 ,转载请注明出处,谢谢合作!
  • 相关阅读:
    HDU 5583 Kingdom of Black and White 水题
    HDU 5578 Friendship of Frog 水题
    Codeforces Round #190 (Div. 2) E. Ciel the Commander 点分治
    hdu 5594 ZYB's Prime 最大流
    hdu 5593 ZYB's Tree 树形dp
    hdu 5592 ZYB's Game 树状数组
    hdu 5591 ZYB's Game 博弈论
    HDU 5590 ZYB's Biology 水题
    cdoj 1256 昊昊爱运动 预处理/前缀和
    cdoj 1255 斓少摘苹果 贪心
  • 原文地址:https://www.cnblogs.com/dongliu/p/5804610.html
Copyright © 2011-2022 走看看