jQuery选择器中含有空格的使用示例及注意事项


Posted in Javascript onAugust 25, 2013

此文摘自《锋利的jQuery》,另外添加了一点自己的东西

选择器中的空格是不容忽视的,多一个空格或少一个空格也许得到的结果会截然不同的。下面来看一个例子。

先构建如下的HTML代码:

<div class="test"> 
<div style="display:none;">Jquery教程</div> 
<div style="display:none;">Jquery学习</div> 
<div style="display:none;">Jquery插件</div> 
<div class="test" style="display:none;">PHP学习</div> 
</div> 
<div class="test" style="display:none;">Jquery插件教程</div> 
<div class="test" style="display:none;">Jquery插件学习</div>

jQuery代码:
var $test_a = $(".test :hidden");//带空格的jQuery选择器 
var $test_b = $(".test:hidden");//不带空格的jQuery选择器 
var len_a = $test_a.length; 
var len_b = $test_b.length; 
alert("带空格的jQuery选择器选出的jQuery元素是:"+len_a+"个");//输出为4个 
alert("不带空格的jQuery选择器选出的jQuery元素是:"+len_b+"个");//输出为3个

之所以会出现不同的结果,这就是后代选择器和过滤选择器的不同了
var $test_a = $(".test :hidden");//带空格的jQuery选择器

上面这段代码是选取class为“test”的元素里面的隐藏元素。(后代选择器)
var $test_b = $(".test:hidden");//不带空格的jQuery选择器

这上面的代码则是选取隐藏的class为“test”的元素

注意:
有的选择器的用法,必须是空格,如果不带空格的话,那就取不到元素,比如:

$("select:selected").length;//不管任何时候,这个选择器都取不到元素,这个length必然是0 
$("select :selected");//这样才是正确的

有的选择器的用法,必须不带空格,如果带空格的话,那就取不到元素,比如:
$("input :checked").length;//不管任何时候,这个选择器都取不到元素,这个length必然是0 
$("input:checked");//这样才是正确的
Javascript 相关文章推荐
用javascript实现的激活输入框后隐藏初始内容
Jun 29 Javascript
WordPress 照片lightbox效果的运用几点
Jun 22 Javascript
javascript 获取表单file全路径
Dec 31 Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
Oct 11 Javascript
js获取IP地址的方法小结
Jul 01 Javascript
Js获取当前日期时间及格式化代码
Sep 17 Javascript
使用JQuery选择HTML遍历函数的方法
Sep 17 Javascript
原生js封装的一些jquery方法(详解)
Sep 20 Javascript
JS中的数组转变成JSON格式字符串的方法
May 09 Javascript
JS实现字符串去重及数组去重的方法示例
Apr 21 Javascript
javascript事件监听与事件委托实例详解
Aug 16 Javascript
three.js 将图片马赛克化的示例代码
Jul 31 Javascript
JS操作JSON要领详细总结
Aug 25 #Javascript
JS 两个字符串时间的天数差计算
Aug 25 #Javascript
js中onload与onunload的使用示例
Aug 25 #Javascript
JQuery中对Select的option项的添加、删除、取值
Aug 25 #Javascript
JavaScript限定复选框的选择个数示例代码
Aug 25 #Javascript
jquery中加载图片自适应大小主要实现代码
Aug 23 #Javascript
jquery eval解析JSON中的注意点介绍
Aug 23 #Javascript
You might like
windows下开发并编译PHP扩展的方法
2011/03/18 PHP
curl实现站外采集的方法和技巧
2014/01/31 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
jquery 模式对话框终极版实现代码
2009/09/28 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
2010/03/24 Javascript
javascript获取当前日期时间及其它操作函数
2011/01/11 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
Node.js与PHP、Python的字符处理性能对比
2014/07/06 Javascript
JavaScript中this详解
2015/09/01 Javascript
Bootstrap表单布局样式源代码
2016/07/04 Javascript
jQuery3.0中的buildFragment私有函数详解
2016/08/16 Javascript
Javascript动画效果(2)
2016/10/11 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
2017/12/25 jQuery
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
JavaScript变量Dom对象的所有属性
2020/04/30 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
[59:15]EG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/29 DOTA
[04:09]2018年度DOTA2社区贡献奖-完美盛典
2018/12/16 DOTA
python基于右递归解决八皇后问题的方法
2015/05/25 Python
Python+PyQT5的子线程更新UI界面的实例
2019/06/14 Python
用Cython加速Python到“起飞”(推荐)
2019/08/01 Python
python retrying模块的使用方法详解
2019/09/25 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
建筑工程自我鉴定
2013/10/18 职场文书
小学教师自我剖析材料
2014/09/29 职场文书
大学生团支书竞选稿
2015/11/21 职场文书
《月球之谜》教学反思
2016/02/20 职场文书
2016年优秀团员事迹材料
2016/02/25 职场文书
springboot拦截器无法注入redisTemplate的解决方法
2021/06/27 Java/Android
Win11查看设备管理器
2022/04/19 数码科技
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技