<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>子(后代)元素过滤选择器</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
<style type="text/css">
body{
font-family: "Microsoft YaHei"
}
.cGreen{color: #4CA902}
.cPink{color: #ED4A9F}
.cBlue{color: #0092E7}
.cCyan{color: #01A6A2}
.cYellow{color: #DCA112}
.cRed{color: #B7103B}
.cPurple{color: #792F7C}
.cBlack{color: #110F10}
.cOrange{color: #FF4500}
.cGray{color: #A9A9A9}
.hide{display: none;}
span {
float:left;
}
ul{
}
ul li {
width:120px;
float: left;
}
</style>
<script type="text/javascript">
/*
说是子元素过滤选择器,我觉得是后代元素过滤选择器
更准确。
子元素过滤选择器,对层级中的后代选择器做了加强。 为什么加强的是后代不是子元素选择器呢?
因为我们在使用层次选择器的时候,可以看出来,
层次选择器中,子元素选择器只能涉及一层,比后代选择器
范围小多了,后代选择器范围可以到全部。 所以虽然名字是子元素过滤选择器,其实是对后代选择器的加强。 可以对选择出来的后代元素再通过冒号的形式进行选择。
选择形式:
(1).精确到递几个孩子:nth-child()
1.其中的参数可以是数字(从1开始)
2.可以是奇数add、偶数even的表示
3.可以n的倍数。(注意必须是n,不能是其他的x、y之类的是约束好了的)
也可以倍数+1 ... m 3n+1、3n+2 ...
(2).第一个孩子:first-child
(3).最后一个孩子:last-child
(4).唯一一个孩子:only-child
*/
$(document).ready(function(){
// <input type="button" id="btn1" value=":nth-child()选取ul的第二个(从1开始)li元素">
$("#btn1").click(function(){
$("ul li:nth-child(2)").addClass("cGreen");
}); // <input type="button" id="btn2" value=":nth-child()选取ul的第奇数个li元素">
$("#btn2").click(function(){
$("ul li:nth-child(odd)").addClass("cPink");
}); // <input type="button" id="btn3" value=":nth-child()选取ul的第3n(n从1开始)个li元素">
$("#btn3").click(function(){
$("ul li:nth-child(3n)").addClass("cBlue"); // 也可以倍数+1 ... m 3n+1、3n+2 ...
}); // <input type="button" id="btn4" value=":first-child选取ul第一个li元素">
$("#btn4").click(function(){
$("ul li:first-child").addClass("cCyan");
}); // <input type="button" id="btn5" value=":last-child选取ul最后一个li元素">
$("#btn5").click(function(){
$("ul li:last-child").addClass("cYellow");
}); // <input type="button" id="btn6" value=":only-child选取ul中只有唯一li元素">
$("#btn6").click(function(){
$("ul li:only-child").addClass("cRed");
});
});
</script> </head> <body>
<span>中国城市:</span><br>
<ul id="chn">
<li id="bj">北京</li>
<li id="sh">上海</li>
<li id="gz">广州</li>
<li id="sz">深圳</li>
<li id="hk">香港</li>
</ul>
<br><br>
<span>美国城市:</span><br>
<ul id="usa">
<li id="wst">华盛顿特区</li>
<li id="ny">纽约</li>
<li id="la">洛杉矶</li>
<li id="scg">芝加哥</li>
</ul>
<br><br>
<span>德国城市:</span><br>
<ul id="ger">
<li id="mnh">慕尼黑</li>
</ul>
<div style="clear:both;"></div>
<br><br>
<hr>
<input type="button" id="btn1" value=":nth-child()选取ul的第二个(从1开始)li元素">
<input type="button" id="btn2" value=":nth-child()选取ul的第奇数个li元素">
<input type="button" id="btn3" value=":nth-child()选取ul的第3n(n从1开始)个li元素">
<input type="button" id="btn4" value=":first-child选取ul第一个li元素">
<input type="button" id="btn5" value=":last-child选取ul最后一个li元素">
<input type="button" id="btn6" value=":only-child选取ul中只有唯一li元素">
</body>
</html>

jQuery中的子(后代)元素过滤选择器(四、六):nth-child()、first-child、last-child、only-child的更多相关文章

  1. jQuery中的表单对象属性过滤选择器(四、八)::enabled、:disabled、:checked、:selected

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  2. jQuery中的内容、可见性过滤选择器(四、四)::contains()、:empty、:has()、:parent、:hidden、:visible

    <!DOCTYPE html> <html> <head> <title>内容.可见性过滤选择器</title> <meta http ...

  3. jQuery内容过滤选择器与子元素过滤选择器用法实例分析

    jQuery选择器内容过滤 一.:contains(text) 选择器::contains(text)描述:匹配包含给定文本的元素返回值:元素集合 示例: ? 1 2 $("div.mini ...

  4. jQuery选择器之子元素过滤选择器Demo

    测试代码: 07-子元素过滤选择器.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...

  5. 过滤选择器first与子元素过滤选择器first-child的区别

    1.表格代码如下: <table id="table"> <tr> <td>id</td> <td>name</t ...

  6. es6 Object.assign ECMAScript 6 笔记(六) ECMAScript 6 笔记(一) react入门——慕课网笔记 jquery中动态新增的元素节点无法触发事件解决办法 响应式图像 弹窗细节 微信浏览器——返回操作 Float 的那些事 Flex布局 HTML5 data-* 自定义属性 参数传递的四种形式

    es6 Object.assign   目录 一.基本用法 二.用途 1. 为对象添加属性 2. 为对象添加方法 3. 克隆对象 4. 合并多个对象 5. 为属性指定默认值 三.浏览器支持 ES6 O ...

  7. jquery中动态新增的元素节点无法触发事件解决办法

    在使用jquery中动态新增的元素节点时会发现添加的事件是无法触发的,我们下面就为各位来详细的介绍此问题的解决办法. 比如做一个ajax读取留言列表的时候,每条留言后面有个回复按钮,class为“re ...

  8. jQuery中,子页面与父页面之间的调用方法

    在jQuery中, 子页面查找父页面的元素 parent.$("#元素Id") 父页面调用子页面的元素 $("#子页面iframe的Id").contents( ...

  9. jQuery选择器(表单元素过滤选择器)第八节

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

随机推荐

  1. canvas实现任意正多边形的移动(点、线、面)

    前言 我在上一篇文章简单实现了在canvas中移动矩形(点线面),不清楚的小伙伴请看我这篇文章:用canvas 实现矩形的移动(点.线.面)(1). ok,废话不多说,直接进入文章主题, 上一篇文章我 ...

  2. 深入理解JavaScript中的继承

    1前言 继承是JavaScript中的重要概念,可以说要学好JavaScript,必须搞清楚JavaScript中的继承.我最开始是通过看视频听培训班的老师讲解的JavaScript中的继承,当时看的 ...

  3. python之数据驱动Txt操作

    一.新建数据Mail163.txt文本 二.Txt_Mail163.py脚本如下: import unittestfrom selenium import webdriverfrom selenium ...

  4. python + mysql 实现创建数据表

    import pymysql"""1.连接本地数据库2.建立游标3.创建表4.插入表数据.查询表数据.更新表数据.删除表数据"""def c ...

  5. VM虚拟机桥接模式无法联网、NAT模式能正常联网

    桥接模式:使虚拟机客户机可以和主机在同一网段,这样,和主机同局域网内的其他主机就也可以ping到虚拟机了: 因此,虚拟机设置为桥接模式,这样以后就可以方便的使用虚拟机了: 有时,虚拟机为桥接模式上不了 ...

  6. POJ1723,1050,HDU4864题解(贪心)

    POJ1723 Soldiers 思维题. 考虑y坐标,简单的货舱选址问题,选择中位数即可. 再考虑x坐标,由于直接研究布置方法非常困难,可以倒着想:不管如何移动,最后的坐标总是相邻的,且根据贪心的思 ...

  7. 【对线面试官】Kafka基础入门

    <对线面试官>系列目前已经连载33篇啦,这是一个讲人话面试系列 [对线面试官]Java注解 [对线面试官]Java泛型 [对线面试官] Java NIO [对线面试官]Java反射 &am ...

  8. Linux系统进入redis并查询值

    1.进入redisredis-cli -h ip -p port2.查看具体信息info 3.得到redis中存储的所有key值KEYS *4.获取指定key值的value值get "key ...

  9. Serilog 最佳实践

    Serilog 最佳实践 概述 Serilog是 Microsoft .NET 的结构化日志记录库,并已成为[Checkout.com .NET 的首选日志记录库..它支持各种日志记录目的地(称为接收 ...

  10. OpenFaaS实战之七:java11模板解析

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...