jQuery学习之旅 Item2 选择器【二】
这里接着上一个Item1 把jQuery的选择器讲完。主要有:属性过滤器和子元素过滤器
点击”名称”会跳转到此方法的jQuery官方说明文档.
5. 属性过滤器 Attribute Filters
| 名称 | 说明 | 举例 |
| [attribute] | 匹配包含给定属性的元素 | 查找所有含有 id 属性的 div 元素: $(“div[id]”) |
| [attribute=value] | 匹配给定的属性是某个特定值的元素 | 查找所有 name 属性是 newsletter 的 input 元素: $(“input[name=’newsletter’]”).attr(“checked”, true); |
| [attribute!=value] | 匹配给定的属性是不包含某个特定值的元素 | 查找所有 name 属性不是 newsletter 的 input 元素: $(“input[name!=’newsletter’]”).attr(“checked”, true); |
| [attribute^=value] | 匹配给定的属性是以某些值开始的元素 | $(“input[name^=’news’]”) |
| [attribute$=value] | 匹配给定的属性是以某些值结尾的元素 | 查找所有 name 以 ‘letter’ 结尾的 input 元素: $ (“input[name =’letter’]”) |
| [attribute*=value] |
匹配给定的属性是以包含某些值的元素 |
查找所有 name 包含 ‘man’ 的 input 元素: |
| [attributeFilter1][attributeFilter2][attributeFilterN] | 复合属性选择器,需要同时满足多个条件时使用。 | 找到所有含有 id 属性,并且它的 name 属性是以 man 结尾的: $ (“input[id][name =’man’]”) |
<input type=”text” name=”username” value=”zhangsan” />
- $ (“[name]”) —— 找到有name属性的元素
- $(“[value=tom]”) —— 找到有value属性的元素,并且value的值等于tom
- $(“[value^=to]”) —— 找到有value属性的元素,并且value的值是以to开始
- $(“[value$=ab]”) —— 找到有value属性的元素,并且value的值是以ab结尾
- $(“[value*=ab]”) —— 找到有value属性的元素,并且value的值里边包含ab信息
$(“[value!=ab]”)
①找到有value属性的元素,并且value的值不等于ab
②或者是没有value属性元素
<input value=”123”><input value=”ab”>
- $([name][class=^a][value!=123] ) —— 符合选择器,多个条件同时满足(并且,交集)
<script>
function f1(){
//$("[class]").css('color','red');//有class属性
//$("[id=hello]").css("color","blue");//id=hello的元素
//$("[class^=app]").css("color",'blue');//class内容以app开始
//$("[class$=e]").css("color","red"); //class内容以e结尾
//$("[class*=p]").css("color","red"); //class内容包含p
//class内容不为app123 或 没有class属性的
//$("[class!=app123]").css("color","blue");
//有id属性和class属性并且class不等于app123
//$("[id][class!=app123][class]").css("color",'blue');
//获得input元素,并且有class属性,内容以app开始
$("[class=app123]input").css("color",'blue');
//$("input:eq(2)").css("color",'blue');
}
</script>
<body>
<div class="apple">apple</div>
<div class="app123">banana</div>
<input type="text" value="tom" id="hello" class="peare"><br />
<input type="text" value="jack" class="app123"><br />
<input type="text" value="linken" class="apple"><br />
<input type="button" value="触发" onclick="f1()">
<p>I am bread</p>
</body>
6. 子元素过滤器 Child Filters
| 名称 | 说明 | 举例 |
| :nth-child(index/even/odd/equation) |
匹配其父元素下的第N个子或奇偶元素 ‘:eq(index)’ 只匹配一个元素,而这个将为每一个父元素匹配子元素。:nth-child从1开始的,而:eq()是从0算起的! 可以使用: |
在每个 ul 查找第 2 个li: $(“ul li:nth-child(2)”) |
| :first-child |
匹配第一个子元素 ‘:first’ 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素 |
在每个 ul 中查找第一个 li: $(“ul li:first-child”) |
| :last-child |
匹配最后一个子元素 ‘:last’只匹配一个元素,而此选择符将为每个父元素匹配一个子元素 |
在每个 ul 中查找最后一个 li: $(“ul li:last-child”) |
| :only-child |
如果某个元素是父元素中唯一的子元素,那将会被匹配 如果父元素中含有其他元素,那将不会被匹配。 |
在 ul 中查找是唯一子元素的 li: $(“ul li:only-child”) |
1 :nth-child(index/even/odd)
匹配其父元素下的第N个子或奇偶元素
‘:eq(index)’ 只匹配一个元素,
而这个将为每一个父元素匹配子元素。
:nth-child从1开始的,而:eq()是从0算起的!
2 :first-child
匹配其父元素下的第一个子元素
3 :last-child
匹配其父元素下的最后一个子元素
4 :only-child
如果某个元素是父元素中唯一的子元素,那将会被匹配
容易与“简单过滤选择器”混淆
:first :eq() :last
<script>
function f1(){
//把全部的li汇合到一起找到第一个
$("li:first").css("color","red"); //一个结果
//first-child匹配其父元素下的第一个子元素
$("li:first-child").css("color","blue"); //两个结果
$("li:last-child").css("color","red");//两个结果
$("li:nth-child(2)").css("background-color","lightblue"); //两个结果
$("li:nth-child(even)").css("background-color","lightblue");
$("li:nth-child(odd)").css("background-color","lightblue");
//找到其父元素只有一个子元素的元素
$("li:only-child").css('color','red');
}
</script>
<body>
<ul>
<li>四</li>
<li>大</li>
<li>家</li>
<li>族</li>
</ul>
<ul>
<li>乔</li>
<li>家</li>
<li>大</li>
<li>院</li>
</ul>
<ul>
<li>老大</li>
</ul>
<input type="button" value="触发" onclick="f1()">
</body>
子元素选择器 和 简单过滤选择器使用 区别:
简单过滤选择器使用
- a) 把全部元素放到一起统一使用
- b) 下标从0开始计算
2.子元素选择器
- a) 每个元素的父元素看成独立的单位进行运算
- b) 下标从1开始计算
版权声明:本文为小平果原创文章,转载请注明:http://blog.csdn.net/i10630226
jQuery学习之旅 Item2 选择器【二】的更多相关文章
- jQuery学习之旅 Item1 选择器【一】
点击"名称"会跳转到此方法的jQuery官方说明文档. 1. 基础选择器 Basics 名称 说明 举例 #id 根据元素Id选择 $("divId") 选择I ...
- jquery学习笔记(一):选择器
内容来自[汇智网]jquery学习课程 1.1 基础选择器 选择器 功能 返回值 #id 根据给定的id匹配一个元素 单个元素 element 根据给定的元素名匹配所有元素 元素集合 .class 根 ...
- jQuery学习之旅 Item4 细说DOM操作
jQuery-–DOM操作(文档处理) Dom是Document Object Model的缩写,意思是文档对象模型.DOM是一种与浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准 ...
- jquery学习(2)--选择器
jquery-李炎恢学习视频学习笔记.自己手写. 简单的选择器 css 写 法: #box{ color:#f00;} //id选择器 jquery获取:$('#box').css( ...
- jQuery学习之旅 Item7 区别this和$(this)
刚开始以为this和$(this)就是一模子刻出来.但是我在阅读时,和coding时发现,总不是一回事,这里就谈谈this与$(this)的区别. 1.jQuery中this与$(this)的区别 $ ...
- jquery学习之旅
在jQuery中,css()方法的功能是设置或获取元素的某项样式属性. $<"div">.css("font-weight","bold& ...
- jquery1.9学习笔记 之层级选择器(二)
子孙选择器(“祖先 子孙”) 描述:选择所有给出祖先选择器的子孙选择器. 例子: 用蓝色虚线边框标记所有表单子孙元素的输入.表单里的输入框用黄色背景. <!doctype html>< ...
- jQuery学习之旅 Item10 ajax快餐
1. 摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章讲解如何使用jQuery方便快捷的实现A ...
- jQuery学习之旅 Item8 DOM事件操作
1.jquery页面载入事件 1.传统加载事件 <body onload="函数名()"> 页面全部html和css代码加载完成之后再调用指定的onload函数 win ...
随机推荐
- Mybatis #和$
在mybatis的mapper文件中,对于传递的参数我们一般是使用#和$来获取参数值. 当使用#时变量是占位符,就是一般我们使用java jdbc的PrepareStatement时的占位符?,所有可 ...
- java--银行业务调度系统
转载请申明出处:http://blog.csdn.net/xmxkf 1. 银行调度业务系统的题目来源与需求阐述 银行业务调度系统: 模拟实现银行业务调度系统逻辑,具体需求如下: 1.银行内有6个 ...
- LeetCode(28)-Remove Duplicates from Sorted Array
题目: Given a sorted array, remove the duplicates in place such that each element appear only once and ...
- ruby技巧001:求md5散列
ruby核心库中未包含md5之类的功能,不过在其标准库digest中可以方便的使用该功能: = Digest (from ruby core) ---------------------------- ...
- linux系统安装mysql数据库
1.首先关闭linux的防火墙,执行命令 chkconfig iptables off 2.从mysql官网上下载自己适合的mysql版本https://dev.mysql.com/downloads ...
- aes加解密 Illegal key size
做aes加密时,发生一个奇怪的错误,在本地环境是好的,发布到测试环境就出问题, java.security.InvalidKeyException: Illegal key size 想到本地环境之前 ...
- word break II(单词切分)
Given a non-empty string s and a dictionary wordDict containing a list of non-empty words, add space ...
- Dubbo基本特性之泛化调用
Dubbo 是支持泛化调用的,什么是泛化调用呢?泛化调用的好处是什么呢,泛化调用说白一点就是服务消费者并没有服务的接口. 在<Dubbo入门-搭建一个最简单的Demo框架>一文中,我们已完 ...
- Django1.6版本的PG数据库定义手动升级
Django1.7以后添加了migration功能,数据库定义的升级完全实现自动化,之前是通过一个叫south的app来做的.这篇文章谈一下1.6下的手动更新升级. 1.table create和ta ...
- Django1.8文档阅读手记
主要集中在新特性上. Django1.8好像开始推荐使用python3 Django的QuerySet是延迟加载的,这个文档里面一般会明言,通过Connection SQL显示测试,外键对象也是延迟加 ...