jQuery学习之旅 Item1 选择器【一】
点击"名称"会跳转到此方法的jQuery官方说明文档.
1. 基础选择器 Basics
| 名称 | 说明 | 举例 |
| #id | 根据元素Id选择 | $("divId") 选择ID为divId的元素 |
| element | 根据元素的名称选择, | $("a") 选择所有<a>元素 |
| .class | 根据元素的css类选择 | $(".bgRed") 选择所用CSS类为bgRed的元素 |
| * | 选择所有元素 | $("*")选择页面所有元素 |
|
selector1, selector2, selectorN |
可以将几个选择器用","分隔开然后再拼成一个选择器字符串.会同时选中这几个选择器匹配的内容. | $("#divId, a, .bgRed") |
function f1(){
//通过【id选择器】获得节点
//$()符号就是jquery的函数,函数执行完毕返回对象
$("#bread").css('color','red');
//【class类别选择器】
$(".milk").css('color','blue');
//【tag标签选择器】
$("h2").css('color','green');
$("p").css('color','gold');
//【通配符选择器*】 ,获得全部节点
$("*").css("color",'blue');
//【联合选择器】
$("#bread,.milk,p").css('background-color','lightblue');
}
</script>
<style type="text/css">
#bread{}
.milk{}
p{}
*{}
#bread,.milk,p {}
</style>
</head>
<body>
<h2>基本选择器</h2>
<div id="bread">bread</div>
<div class="milk">milk</div>
<div>apple</div>
<p>banana</p>
<input type="button" value="触发" onclick="f1()">
</body>
[学习建议]: 大家暂时记住基础选择器即可, 可以直接跳到下一节"jQuery选择器实验室"进行动手练习, 以后再回来慢慢学习全部的选择器, 或者用到的时候再回来查询.
2.层次选择器 Hierarchy
| 名称 | 说明 | 举例 |
|
ancestor descendant |
使用"form input"的形式选中form中的所有input元素.即ancestor(祖先)为from, descendant(子孙)为input. | $(".bgRed div") 选择CSS类为bgRed的元素中的所有<div>元素. |
|
parent > child |
选择parent的直接子节点child. child必须包含在parent中并且父类是parent元素. | $(".myList>li") 选择CSS类为myList元素中的直接子节点<li>对象. |
|
prev + next |
prev和next是两个同级别的元素. 选中在prev元素后面的next元素. | $("#hibiscus+img")选在id为hibiscus元素后面的img对象. |
|
prev ~ siblings |
选择prev后面的根据siblings过滤的元素 注:siblings是过滤器 |
$("#someDiv~[title]")选择id为someDiv的对象后面所有带有title属性的元素 |
实例:
2.1 ancestor descendant
:父子级关系
派生选择器
$(“#bread .milk”)
<divid=bread><input class=milk><spanclass=milk>
<div><p class=milk></div>
</div>
在指定的父级选择器下边获得全部的派生子级(后代)元素
2.2 parent > child :父子级关系
在给定的父元素下匹配所有子元素.
$(“#bread >.milk”)
<divid=bread><input class=milk><spanclass=milk>
<div><pclass=milk></div>
</div>
2.3 prev + next
:兄弟级关系
匹配紧接在 所有prev 元素后的 next(下一个) 元素
$(“#bread + .milk”)
<divid=bread><span class=milk></span></div>
<p class=milk></p>
<spanclass=milk></span>
2.4 prev ~ siblings:兄弟级关系
匹配 prev 元素之后的所有 siblings 元素.
$(“#bread ~ .milk”)
<span class=milk>
<divid=bread><span class=milk></span></div>
<p class=milk></p>
<span class=milk></span>
<inputclass=milk />
function f1(){
//派生选择器$("sel1 sel2")
$("#bread .milk").css("color","red");
//子元素选择器$("sel1 > sel2")
$("#bread > .milk").css('color','red');
//匹配紧贴在一起的下一个元素
$("#bread + .milk").css("color",'red');
//匹配prev之后所有的兄弟节点
//$("prev ~ sibling")
$("#bread ~ .milk").css("color","red");
}
</script>
<style type="text/css">
</style>
</head>
<body>
<h2>层次选择器</h2>
<div id="bread">
<input type="text" value="hello" class="milk">
<span class="milk">world</span>
<div>
<span class="milk">pear</span>
</div>
</div>
<p class="milk">this is p tag</p>
<span class="milk">desk</span>
<div id="apple"><span class="milk">第二个span</span></div>
<input type="button" value="触发" onclick="f1()" />
</body>
3.基本过滤器 Basic Filters
| 名称 | 说明 | 举例 |
| :first | 匹配找到的第一个元素 | 查找表格的第一行:$("tr:first") |
| :last | 匹配找到的最后一个元素 | 查找表格的最后一行:$("tr:last") |
| :not(selector) | 去除所有与给定选择器匹配的元素 | 查找所有未选中的 input 元素: $("input:not(:checked)") |
| :even | 匹配所有索引值为偶数的元素,从 0 开始计数 | 查找表格的1、3、5...行:$("tr:even") |
| :odd | 匹配所有索引值为奇数的元素,从 0 开始计数 | 查找表格的2、4、6行:$("tr:odd") |
| :eq(index) |
匹配一个给定索引值的元素 注:index从 0 开始计数 |
查找第二行:$("tr:eq(1)") |
| :gt(index) |
匹配所有大于给定索引值的元素 注:index从 0 开始计数 |
查找第二第三行,即索引值是1和2,也就是比0大:$("tr:gt(0)") |
| :lt(index) |
选择结果集中索引小于 N 的 elements 注:index从 0 开始计数 |
查找第一第二行,即索引值是0和1,也就是比2小:$("tr:lt(2)") |
| :header | 选择所有h1,h2,h3一类的header标签. | 给页面内所有标题加上背景色: $(":header").css("background", "#EEE"); |
| :animated | 匹配所有正在执行动画效果的元素 |
只有对不在执行动画效果的元素执行一个动画特效:
$("#run").click(function(){ |
function f1(){
$("li").css("color","red"); //获得全部li元素
//过滤选择器
$("li:first").css("color","red"); //把全部li元素的第一个过滤出来
$("li:last").css("color","red"); //把全部li元素的最后一个过滤出来
$("li:odd").css("color","red"); //奇数 li,下标从0开始计算
$("li:even").css("color","red"); //偶数li,下标从0开始计算
$("li:eq(6)").css("color","red"); //过滤指定下标的节点 eq (equal)
//过滤下标大于某个范围的元素
$("li:gt(3)").css("color","red"); //gt : greate than(greate wall)
$("li:lt(4)").css("color","red"); //lt : less than
//过滤器【嵌套】使用
$("li:odd") //奇数li li的下标从0开始
$("li:gt(0):odd").css("color","red") //奇数,(智 [播])
//li:gt(0)元素下标重新从0开始计算,再与odd进行赛选
$("li:gt(2):even").css("color","red"); //”客“ 开始
$("li:gt(3):eq(2)").css("color","red"); //"集"字被过滤出来
$("li:not(#ke)").css("color","red"); //not去除指定的选择器元素
$("li:not(#ke,#yu)").css("color","red"); //not去除指定的选择器元素
//$("*:header").css("color","red");//过滤h1 h2 h3 h4 h5 h6等标题标签
//$("h2")//全部h2
$(".apple:header").css("color","red");//第二个h2
}
</script>
<style type="text/css">
</style>
</head>
<body>
<h2>我是正式标题</h2>
<h2 class="apple">简单过滤选择器</h2>
<ul class="apple">
<li>传</li>
<li>智</li>
<li>播</li>
<li id="ke">客</li>
<li>教</li>
<li id="yu">育</li>
<li>集</li>
<li>团</li>
</ul>
<input type="button" value="触发" onclick="f1()" />
</body>
4. 内容过滤器 Content Filters
| 名称 | 说明 | 举例 |
| :contains(text) | 匹配包含给定文本的元素 | 查找所有包含 "John" 的 div 元素:$("div:contains('John')") |
| :empty | 匹配所有不包含子元素或者文本的空元素 | 查找所有不包含子元素或者文本的空元素:$("td:empty") |
| :has(selector) | 匹配含有选择器所匹配的元素的元素 | 给所有包含 p 元素的 div 元素添加一个 text 类: $("div:has(p)").addClass("test"); |
| :parent | 匹配含有子元素或者文本的元素 | 查找所有含有子元素或者文本的 td 元素:$("td:parent") |
实例:
4.1 :contains(text)
用法: $(”div:contains(’John’)”)
匹配包含给定文本的元素
<div>this is computer</div>
<div>I amJohn</div>
4.2 :empty
用法: $(”div:empty”)
匹配所有不包含子元素或者文本的空元素
<div>I am John</div>
<div></div>
<div><span></div>
<div> </div>
<div>bread</div>
4.3 :has(selector)
用法: $(”div:has(.milk)”)
匹配含有选择器所匹配的元素的元素
<div></div>
<div><pclass=”milk”></div>
<div><spanclass=”milk”></div>
4.4 :parent
用法: $(”p:parent”)
匹配含有子元素或者文本的元素(元素必须有后代)
<p></p>
<p><span></p>
<p>hello</p>
<p> </p>
5.可见性过滤器 Visibility Filters
| 名称 | 说明 | 举例 |
|
匹配所有的不可见元素 注:在1.3.2版本中, hidden匹配自身或者父类在文档中不占用空间的元素.如果使用CSS visibility属性让其不显示但是占位,则不输入hidden. |
查找所有不可见的 tr 元素:$("tr:hidden") | |
| :visible | 匹配所有的可见元素 | 查找所有可见的 tr 元素:$("tr:visible") |
元素是隐藏的:
display:none; 隐藏(不会占据物理空间)
<input type=”hidden”>隐藏域
visibility:hidden 隐藏(要占据物理空间)
:hidden 获得隐藏元素(display input type=hidden)有两种情况会起作用
:visible获得可见元素
总结
1.基本选择(id class tag标签 sel1,sel2,sel3联合 *)
2. 层次选择器
3. 简单过滤选择器(:first :last :eq(下标) :gt() :lt() :odd :even)
4. 内容过滤选择器(:contains :has :empty :parent)
5. 可见性过滤选择器(:hidden :visible)
版权声明:本文为小平果原创文章,转载请注明:http://blog.csdn.net/i10630226
jQuery学习之旅 Item1 选择器【一】的更多相关文章
- jQuery学习之旅 Item2 选择器【二】
这里接着上一个Item1 把jQuery的选择器讲完.主要有:属性过滤器和子元素过滤器 点击"名称"会跳转到此方法的jQuery官方说明文档. 5. 属性过滤器 Attribute ...
- jquery学习笔记(一):选择器
内容来自[汇智网]jquery学习课程 1.1 基础选择器 选择器 功能 返回值 #id 根据给定的id匹配一个元素 单个元素 element 根据给定的元素名匹配所有元素 元素集合 .class 根 ...
- jquery学习(2)--选择器
jquery-李炎恢学习视频学习笔记.自己手写. 简单的选择器 css 写 法: #box{ color:#f00;} //id选择器 jquery获取:$('#box').css( ...
- jQuery学习之旅 Item4 细说DOM操作
jQuery-–DOM操作(文档处理) Dom是Document Object Model的缩写,意思是文档对象模型.DOM是一种与浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准 ...
- jquery学习之旅
在jQuery中,css()方法的功能是设置或获取元素的某项样式属性. $<"div">.css("font-weight","bold& ...
- jQuery学习之旅 Item10 ajax快餐
1. 摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章讲解如何使用jQuery方便快捷的实现A ...
- jQuery学习之旅 Item8 DOM事件操作
1.jquery页面载入事件 1.传统加载事件 <body onload="函数名()"> 页面全部html和css代码加载完成之后再调用指定的onload函数 win ...
- jQuery学习之旅 Item7 区别this和$(this)
刚开始以为this和$(this)就是一模子刻出来.但是我在阅读时,和coding时发现,总不是一回事,这里就谈谈this与$(this)的区别. 1.jQuery中this与$(this)的区别 $ ...
- JQuery学习四(过滤选择器)
:first选择第一个元素.$(“div:first”)进行选择第一个<div> :last 选择最后一个最后一个元素 $("div:last")选取最后一个<d ...
随机推荐
- Emmet for Dreamweaver:HTML/CSS代码快速编写神器
Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度,比如下面的演示: ...
- ASP.NET MVC不可或缺的部分——DI(IOC)容器及控制器重构的剖析(DI的实现原理)
IoC框架最本质的东西:反射或者EMIT来实例化对象.然后我们可以加上缓存,或者一些策略来控制对象的生命周期,比如是否是单例对象还是每次都生成一个新的对象. DI实现其实很简单,首先设计类来实现接口, ...
- asp.net session分布式共享解决方案
Session共享是分布式系统设计时必须考虑的一个重要的点.相比较java中的session共享解决方案,.net中的解决方案还是比较少,MemcachedSessionProvider类库是比较优秀 ...
- WebService学习--(一)webservice相关概念
一.序言 大家或多或少都听过 WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成 分.但是不得不承认的是W ...
- 四种生成和解析XML文档的方法详解
众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml- ...
- Docker 单主机网络
PS:欢迎大家关注我的公众号:aCloudDeveloper,专注技术分享,努力打造干货分享平台,二维码在文末可以扫,谢谢大家. 当容器逐步向容器集群,容器云技术演进的时候,一个不得不面对的问题就是各 ...
- 如何成为一个优秀的DBA
今天在群上跟技术友们聊天.发现有几个大学生,他们很担心自己找不到工作.我问他们理由,他们说我们没有经验,公司不要怎么办?这些孩子们的担心,让我感觉到奇怪. 如果我是一个公司的老总,我会有这两种考虑:要 ...
- PLSQL学习教程(全)
基于ORACLE9i+PL/SQLDeveloper7.1.4) 课程 一 PL/SQL 基本查询与排序 本课重点: 1.写SELECT语句进行数据库查询 2.进行数学运算 3.处理空值 4.使用别名 ...
- JMS详细的工作原理
如果手机只能进行实时通话,没有留言和短信功能会怎么样?一个电话打过来,正好没有来得及接上,那么这个电话要传递的信息肯定就收不到了.为什么不能先将信息存下来,当用户需要查看信息的时候再去获得信息呢?伴随 ...
- 免费私有gitLab服务推荐
阿里云code :https://code.aliyun.com/,可以免费开50个私有项目. 配套的持续交付:https://crp.aliyun.com