JQuery_进阶选择器
在简单选择器外,还有一些进阶的选择器方便我们更精准的选择元素。

1、群组选择器
可以将相同的样式合并
<script type="text/javascript" src="jquery-1.10.1.js"></script>
<script type="text/javascript">
$(function(){
/*$('div,p,strong').css('color','red'); 同样可以是id,class等选择器组合*/
$('#box,.pox,strong').css('color','red');
});
</script>
<style>
/*div,p,strong{ color:red;}多种选择器添加红色字体 多个选择器之间逗号隔开就行,可以是id,class等选择器的组合*/
</style>
</head>
<body>
<div id="box">div</div>
<div>div</div>
<div>div</div>
<p>p</p>
<p>p</p>
<p class="pox">p</p>
<strong>strong</strong>
<strong>strong</strong>
<strong>strong</strong>
</body>
2、后代选择器
<script type="text/javascript" src="jquery-1.10.1.js"></script>
<script type="text/javascript">
$(function(){
$('ul li a').css('color', 'red'); //后代选择器 jQuery 方式
});
</script>
<style>
/*ul li a { color:red;}层层追溯到的元素添加红色字体*/
</style>
</head>
<body>
<ul>
<li><a href="#">首页</a></li>
<li><a href="#">首页</a></li>
</ul>
<a href="#">首页</a>
<a href="#">首页</a>
</body>
3、通配选择器
<script type="text/javascript" src="jquery-1.10.1.js"></script>
<script type="text/javascript">
$(function(){
$('*').css('color', 'blue'); //通配选择器
alert($('*').size());//测试通配选择器到底选择了多少个节点
alert($('*')[0]);//第一个是html节点对象
//html节点对象一般不是想要的,只想要body节点对象里面的有用的,所以通配选择器会极大的消耗资源,所以不建议在全局中使用
});
</script>
<style>
*{ color:red;}/*页面所有元素都添加红色字体*/
</style>
</head>
<body>
<ul>
<li><a href="#">首页</a></li>
<li><a href="#">首页</a></li>
</ul>
<a href="#">首页</a>
<a href="#">首页</a>
</body>
警告:在实际使用上,通配选择器一般用的并不多,尤其是在大通配上,比如:$('*'),这种使用方法效率很低,影响性能,建议竟可能少用。可以在局部中使用通配选择器
<script type="text/javascript" src="jquery-1.10.1.js"></script>
<script type="text/javascript">
$(function(){
$('ul li *').css('color','green');
alert($('ul li *').size());/*只选择了四个不会像在全局中使用通配选择器那样把一些不必要的也选中*/
});
</script>
<style>
ul li *{ color:red;}/*ul li 里面的所有都选中*/
</style>
</head>
<body>
<ul>
<li><a href="#">首页ul li a</a></li>
<li><a href="#">首页ul li a</a></li>
<li><p>首页ul li p<p></li>
</ul>
</body>
4、混合选择器
在实际应用中,我们可以灵活的搭配,使得选择器更加的精准和快速:
<script type="text/javascript" src="jquery-1.10.1.js"></script>
<script type="text/javascript">
$(function(){
$('ul li a,#pox,.box').css('color','green');
});
</script>
<style>
ul li a,#pox,.box{ color:red;}
</style>
</head>
<body>
<ul>
<li><a href="#">首页ul li a</a></li>
<li><a href="#">首页ul li a</a></li>
</ul>
<a href="#">首a页</a>
<a href="#">首a页</a><!--a标签有默认的属性:下划线,字体为蓝色-->
<p>首页p</p>
<div class="box">div#box</div>
<div id="pox">div.pox</div>
</body>
5、在 ID 和类(class)中指明元素前缀
<script type="text/javascript" src="jquery-1.10.1.js"></script>
<script type="text/javascript">
$(function(){
$('div.box').css('color','blue');
$('p.box').css('color','pink');
});
</script>
<style>
div.box{ color:red;}
p.box{ color:green;}
</style>
</head>
<body>
<div class="box">divbox</div>
<p class="box">pbox</p>
<div>div</div>
<p>p</p>
</body>
类(class)有一个特殊的模式,就是同一个 DOM 节点可以声明多个类(class)。那么对于这种格式,我们有多 class 选择器可以使用,但要注意和 class 群组选择器的区别。
<script type="text/javascript" src="jquery-1.10.1.js"></script>
<script type="text/javascript">
$(function(){
$('.box.pox').css('color','pink');
/*$('.box,.pox').css('color','pink');中间加上,号变成将所有box和pox都选中了*/
});
</script>
<style>
.box.pox{ color:red;}/*IE6不支持*/
</style>
</head>
<body>
<div class="box pox">divbox</div><!--只想要第一个-->
<p class="pox">pbox</p>
<div class="pox">divbox</div>
<p class="box">pbox</p>
</body>
警告:在构造选择器时,有一个通用的优化原则:只追求必要的确定性。当选择器筛选越复杂,jQuery 内部的选择器引擎处理字符串的时间就越长。
JQuery_进阶选择器的更多相关文章
- jQuery_2_常规选择器-进阶选择器
进阶选择器: 1. 群组选择器 $("span,em,#box") 获取多个选择器的DOM对象 <div id="d1">div< ...
- JQuery_过滤选择器
一.基本过滤器 1.基本过滤器 过滤器主要通过特定的过滤规则来筛选所需的 DOM 元素,和 CSS 中的伪类的语法类似:使用冒号(:)开头. <script type="text/ja ...
- JQuery_高级选择器
在很多特殊的元素上,比如父子关系的元素,兄弟关系的元素,特殊属性的元素等等. 在早期 CSS 的使用上,由于 IE6 等低版本浏览器不支持,所以这些高级选择器的使用也不具备普遍性,但随着 jQuery ...
- JQuery_简单选择器
jQuery 最核心的组成部分就是:选择器引擎.它继承了 CSS 的语法,可以对 DOM 元素的标签名.属性名.状态等进行快速准确的选择,并且不必担心浏览器的兼容性. jQuery选择器实现了 CSS ...
- Jsoup进阶选择器
package com.open1111.jsoup; import org.apache.http.HttpEntity;import org.apache.http.client.methods. ...
- css进阶选择器
后代选择器 用空格隔开 选择div标签下的p标签下的a标签 div p a 选择class为parent标签下的p标签下的a标签 .parent p a 后代选择器可以是标签.类.id的混合体 后代选 ...
- Jquery_类选择器笔记
$("[id^=percent]").size() ^=:表示以什么开头 $=:表示以什么结尾 ~=:表示包含什么 id:表示按id选择
- jQuery常规选择器
//简单选择器$('div').css('color','red'); //元素选择器,返回多个元素$('#box').css('color','red');//id选择器,返回单个元素$('.box ...
- Jquery入门之----------选择器-------------
Jquery最核心的组成部分就是选择器引擎.他继承了CSS的语法,可以对DOM元素的标签名.属性名.状态等进行快速.精确的选择,并且不必担心浏览器的兼容性.Jquery选择器除实现了基本的标签选择外, ...
随机推荐
- Juery On事件的 事件触发流程
使用On 给控件赋值事件的时候,你有没有觉得很神奇那,那是因为他事件处理流程比较特殊. on()函数并不是为当前jQuery对象匹配的元素绑定事件处理函数,而是为它们的后代元素中符合选择器select ...
- Linux内核设计第五周——扒开系统调用三层皮(下)
Linux内核设计第五周 ——扒开系统调用三层皮(下) 一.知识点总结 1.给MenuOS增加新的命令的步骤 更新menu代码到最新版 test.c中main函数里,增加MenuConfig() 增加 ...
- iOS应用架构谈 网络层设计方案
网络层在一个App中也是一个不可缺少的部分,工程师们在网络层能够发挥的空间也比较大.另外,苹果对网络请求部分已经做了很好的封装,业界的AFNetworking也被广泛使用.其它的ASIHttpRequ ...
- Decimal To Fraction 小数转换成分数
以0.25为例, 0.25 * 100 = 25, 求25 和 100 的最大公约数gcd. 25/gcd 为分子. 100/gcd为分母. //小数转分数 //0.3 -> 3/10, 0.2 ...
- BUG级别(优先级、严重级)定义
一.主要分类 BUG类型标准主要分两类: Ø 依据优先级分类. Ø 依据严重程度分类. 二.主要内容 依据优先级分类标准 定义 优先级:指一个BUG相对于其他BUG对于公司的影响,解决的及时性. 分类 ...
- ubuntu /etc/network/interfaces 中配置虚拟链路
ubuntu /etc/network/interfaces 中配置虚拟链路 平常做一些关于网络的测试时,像一些需要在二层上运行的功能,一个网卡不足够的情况下,可使用 ip link 工具加一些虚拟的 ...
- Python之路-python(set集合、文本操作、字符编码 )
一.集合操作(set) ...
- 移动web开发框架
纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族 ...
- [译]JavaScript规范-葵花宝典
[译]JavaScript规范 译自:https://github.com/airbnb/javascript 类型 原始值: 相当于传值 string number boolean null und ...
- js插入拼接链接 --包含可变字段
// newsId: 传参过来的Id, pathIdlet newsDetailId = parseInt(this.props.newsId); goTo() { window.location.h ...