jQuery Selectors(选择器)的使用(七、子元素篇)

本系列文章分为:基本篇、层次篇、简单篇、内容篇、可见性篇、属性篇、子元素篇、表单篇、表单对象属性篇共9篇文章。
本篇讲解::nth-child(index/even/odd/equation),:first-child,:last-child,:only-child的用法。
您对本系列文章有任何建议或意见请发送到邮箱:sjzlgt@qq.com
由于是第一次写技术性系列文章,难免会出错或代码BUG,欢迎指出,在此谢过!
您可以到jQuery官网来学习更多的有关jQuery知识。
运行后,请刷新下,因为需要加载jquery,默认是输出,不会加载远程的js文件的。

jQuery-Selectors-6

.div
{
width:95%;
margin-left:15px;
margin-top:15px;
margin-right:15px;
padding-left:5px;
padding-top:5px;
padding-bottom:5px;
background-color:#ccc;
border:#999 1px solid;
line-height:30px;
font-size:13px;
font-family:微软雅黑;
}
.blue{color:Blue;}
.green{color:Green;}
.button{border:green 1px solid;width:100px;}
.xiaobiao{ font-weight:bold;}
.red_test{background-color:red; color:White; width:300px; height:30px;}
.li_test{border:#000 1px solid;}

jQuery-Selectors(选择器)的使用(七、子元素篇)

本系列文章主要讲述jQuery框架的选择器(Selectors)使用方法,我将以实例方式进行讲述,以简单,全面为基础,不会涉及很深,我的学习方法:先入门,后进阶!

本系列文章分为:基本篇、层次篇、简单篇、内容篇、可见性篇、属性篇、子元素篇、表单篇、表单对象属性篇共9篇文章。

本篇讲解:[attribute],[attribute=value],[attribute!=value],[attribute^=value],[attribute$=value],[attribute*=value],[selector1][selector2][selectorN]的用法。

您对本系列文章有任何建议或意见请发送到邮箱:sjzlgt@qq.com

由于是第一次写技术性系列文章,难免会出错或代码BUG,欢迎指出,在此谢过!

您可以到jQuery官网来学习更多的有关jQuery知识。

版权所有:code-cat 博客:http://www.cnblogs.com/bynet 转载请保留出处和版权信息!

在IE6、IE7、火狐下测试过了,效果都很明显。

1. :nth-child(index/even/odd/equation)用法

定义:匹配其父元素下的第N个子或奇偶元素 ':eq(index)' 只匹配一个元素,而这个将为每一个父元素匹配子元素。:nth-child从1开始的,而:eq()是从0算起的!

可以使用如下语法:

:nth-child(2) //索引为2的元素

:nth-child(even) //索引为偶数元素

:nth-child(odd) //索引为奇数元素

:nth-child(3n) //索引为3 * n的元素,n=0,1,2,3,4...,呃...3不是死的,你可以换成如1,2,4,5,6...之类的,下同

:nth-child(3n+1) //索引为3 * n + 1的元素,n=0,1,2,3,4...

:nth-child(3n+2) //索引为3 * n + 2的元素,n=0,1,2,3,4...

返回值:Array<Element>

参数:index (Number) : 要匹配元素的序号,从1开始

实例:将ID为"div_a1"的DIV中每个ul元素的第2个Li元素的背景色改为红色

代码: $("#div_a1 ul li:nth-child(2)").css("background-color","red"); //点击按钮一将执行这句代码

DIV ID="div_a1"

    ul id="ul_a1"

  • LI:C
  • LI:C++
  • LI:C#
  • LI:Java
  • LI:JavaScript
    ul id="ul_a2"

  • LI:Google
  • LI:Microsoft
  • LI:Apple
  • LI:Sun
  • LI:Intel
    ul id="ul_a3"

  • Li:onle one

DIV ID="div_a5"

$("#btn_1").click(function(){
$("#div_a1 ul li:nth-child(2)").css("background-color","red");
});

注意:其它语法用法简单,我不在此一一列出,读者可下载源文件后,自行修改看效果,在此注意索引从1开始即可。

2. :first-child用法

定义:匹配第一个子元素 ':first' 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素

返回值:Array<Element>

实例:将ID为"div_b1"的DIV中每个ul元素的第1个Li元素的背景色改为红色

代码: $("#div_b1 ul li:first-child") .css("background-color","red"); //点击按钮二将执行这句代码

DIV ID="div_b1"

    ul id="ul_b1"

  • LI:C
  • LI:C++
  • LI:C#
  • LI:Java
  • LI:JavaScript
    ul id="ul_b2"

  • LI:Google
  • LI:Microsoft
  • LI:Apple
  • LI:Sun
  • LI:Intel
    ul id="ul_b3"

  • Li:onle one

DIV ID="div_b5"

$("#btn_2").click(function(){
$("#div_b1 ul li:first-child") .css("background-color","red");
});

注意:当然,这个效果你也可以用$("#div_b1 ul li:nth-child(1)") .css("background-color","red");来实现。

3. :last-child用法

定义:匹配最后一个子元素 ':last'只匹配一个元素,而此选择符将为每个父元素匹配一个子元素

返回值:Array<Element>

实例:将ID为"div_c1"的DIV中每个ul元素的最后1个Li元素的背景色改为红色

代码: $("#div_c1 ul li:last-child") .css("background-color","red"); //点击按钮三"将执行这句代码

DIV ID="div_c1"

    ul id="ul_c1"

  • LI:C
  • LI:C++
  • LI:C#
  • LI:Java
  • LI:JavaScript
    ul id="ul_c2"

  • LI:Google
  • LI:Microsoft
  • LI:Apple
  • LI:Sun
  • LI:Intel
    ul id="ul_c3"

  • Li:onle one

DIV ID="div_c5"

$("#btn_3").click(function(){
$("#div_c1 ul li:last-child") .css("background-color","red");
});

4. :only-child用法

定义:如果某个元素是父元素中唯一的子元素,那将会被匹配 如果父元素中含有其他元素,那将不会被匹配。

返回值:Array<Element>

实例:将ID为"div_c1"的DIV中每个ul元素中唯一1个Li元素的背景色改为红色

代码: $("#div_d1 ul li:only-child") .css("background-color","red"); //点击按钮四"将执行这句代码

DIV ID="div_d1"

    ul id="ul_d1"

  • LI:C
  • LI:C++
  • LI:C#
  • LI:Java
  • LI:JavaScript
    ul id="ul_d2"

  • LI:Google
  • LI:Microsoft
  • LI:Apple
  • LI:Sun
  • LI:Intel
    ul id="ul_d3"

  • Li:onle one

DIV ID="div_d5"

$("#btn_4").click(function(){
$("#div_d1 ul li:only-child") .css("background-color","red");
});

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • 简单讲解jQuery中的子元素过滤选择器

    子元素过滤器的过滤规则是通过父元素和子元素的关系来获取相应的元素. $('li:first-child').css('background', '#ccc'); //每个父元素第一个li 元素 $('li:last-child').css('background', '#ccc'); //每个父元素最后一个li 元素 $('li:only-child').css('background', '#ccc'); //每个父元素只有一个li 元素 $('li:nth-child(odd)').css(

  • jquery获取一个元素下面相同子元素的个数代码

    例如下面的html代码,要获取P元素下面a元素的个数: <p id="father"> <a></a> <a></a> <a></a> <a></a> <a></a> -- <a></a> </p> 我们可以这样写: $("#father a").length

  • jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)

    上个月研究学习了<js判断一个元素是否为另一个元素的子元素>,感觉还挺好用,但是在jQuery应用中还是有很多缺陷,比如多个元素的时候写起来就不是很方便.所以写了比较简单的jQuery判断一个元素是否为另一个元素的子元素(或者其本身)的两个扩展: 复制代码 代码如下: //判断:当前元素是否是被筛选元素的子元素 jQuery.fn.isChildOf = function(b){ return (this.parents(b).length > 0); }; //判断:当前元素是否是被筛

  • 使用jquery选择器如何获取父级元素、同级元素、子元素

    一.获取父级元素 1. parent([expr]): 获取指定元素的所有父级元素 复制代码 代码如下: <div id="par_div"><a id="href_fir" href="#">href_fir</a> <a id="href_sec" href="#">href_sec</a> <a id="href_thr&qu

  • js与jquery获取父元素,删除子元素的两种不同方法

    var obj=document.getElementById("id");得到的是dom对象,对该对象进行操作的时候使用js方法 var obj=$("#id");得到的是jquery对象,对该对象进行操作的时候使用jquery方法 1.对于上面获得的对象进行遍历 (1).js方法  for(vat i=0;j<obj.length;i++){ obj[i] 来获得对应的某一个元素} (2).jquery方法  $("#id").each

  • jQuery获得子元素个数的方法

    本文实例讲述了jQuery获得子元素个数的方法.分享给大家供大家参考.具体分析如下: //获取id=div1下的子元素的个数 $('#div1').children().length; //获取id=div1下的span元素个数 $('#div1').children('span').length; 希望本文所述对大家的jQuery程序设计有所帮助.

  • jquery中获取元素里某一特定子元素的代码

    之前做的一些JQUERY应用都是些很基础的编程,对于选择器要求不高,像类似于"$('.class')"."$('#id')"."$('#id>.class')"."$(this)"."$(this).parent()"."$(this).children()"这些简单的语句都能解决的. 问题的出现是我要选择一个ul里某个的li中的一个span,因为要利于编程,li是用 $('ul&

  • jquery查找父元素、子元素(个人经验总结)

    使用js或者jquery查找父元素.子元素经常遇到.可是用起来总容易混淆,这里统一总结了一下,以后用起来相信会方便好多 这里jquery向上查找父元素 用到的方法:closest() parents() parent() 向下查找子元素 用到的方法:find() children() js用的是 children[] 属性 html代码 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

  • jquery删除指定子元素代码实例

    jquery删除指定子元素代码实例: 本章节介绍一下如何利用jQuery实现删除指定子元素. 如何利用原生javascript实现此功能可以参阅原生javascript删除指定子元素代码实例一章节. 其实实现此功能的方式有很多种,下面介绍一下其中比较常见的一种. 代码实例如下: 复制代码 代码如下: <!DOCTYPE HTML> <html> <meta charset="utf-8"> <title>我们</title>

  • jQuery统计指定子元素数量的方法

    本文实例讲述了jQuery统计指定子元素数量的方法.分享给大家供大家参考.具体分析如下: jQuery可以通过 > 访问子标签,然后通过size获得子标签的数量 <div id="foo"> <div id="bar"></div> <div id="baz"> <div id="biz"> </div> <span><span&g

  • jquery中子元素和后代元素的区别示例介绍

    今天学习jQuery的选择器: jQuery选择器分为基本选择器.层次选择器.过滤选择器.表单选择器. 基本选择器:id,class,标签名,*,元素组合(div,span,p.myClass) 层次选择器: 难点: jquery中子元素和后代元素的区别 后代,就是当前元素的所有后代,都算, 子元素,就是当前元素的子集,再往下走就不算了. 具体的分析可以参考: 复制代码 代码如下: <div>This is <strong>very</strong> important

  • jquery使用remove()方法删除指定class子元素

    本文实例讲述了jquery使用remove()方法删除指定class子元素的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html> <html> <head> <script src="js/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button").click(function

  • 扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁

    解决思路如下: 首先,判断事件的当前节点,也就是jquery的currentTarget是否在target的包含中,即下面的扩展$.containsNode. 然后,在调用hover的时候的mouseover和mouseout事件里判断currentTarget是否在target的包含中,即$.fn.fhover扩展 下面就是相关代码: 复制代码 代码如下: $.containsNode = function(parentNode, childNode) { if (parentNode.con

  • jquery判断元素的子元素是否存在的示例代码

    jquery判断子元素是否存在 一.判断子元素是否存在   //一级子元素 if($("#specialId>img").length==0)     if ($( "#specialId:has(img)" ).length==0)          {      //-----没有img子标记-----     }    else     {      //-------有img子标记------     } 二.选择特定id元素下的特定id子元素   

随机推荐