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 相关文章推荐
jQuery实现鼠标移到元素上动态提示消息框效果
Oct 20 Javascript
jQuery拖拽div实现思路
Feb 19 Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
Feb 03 Javascript
javascript异步处理工作机制详解
Apr 13 Javascript
JS去除空格和换行的正则表达式(推荐)
Jun 14 Javascript
jQuery插件Validation快速完成表单验证的方式
Jul 28 Javascript
JS实现页面载入时随机显示图片效果
Sep 07 Javascript
JS获取鼠标相对位置的方法
Sep 20 Javascript
解决vuecli3.0热更新失效的问题
Sep 19 Javascript
小程序日历控件使用方法详解
Dec 29 Javascript
JavaScript实现更换背景图片
Oct 18 Javascript
JavaScript实现猜数字游戏
May 20 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
《神奇女侠:血脉》神力女超人大战犯罪公司
2020/04/09 欧美动漫
PHP 伪静态隐藏传递参数名的四种方法
2010/02/22 PHP
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
PHP向socket服务器收发数据的方法
2015/01/24 PHP
PHP序列化/对象注入漏洞分析
2016/04/18 PHP
PHP new static 和 new self详解
2017/02/19 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
JavaScript改变HTML元素的样式改变CSS及元素属性
2013/11/12 Javascript
js对象转json数组的简单实现案例
2014/02/28 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
2016/06/22 Javascript
js注入 黑客之路必备!
2016/09/14 Javascript
js canvas实现QQ拨打电话特效
2017/05/10 Javascript
vue实现验证码输入框组件
2017/12/14 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
vue watch深度监听对象实现数据联动效果
2018/08/16 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
JS 5种遍历对象的方式
2020/06/16 Javascript
教你学会使用Python正则表达式
2017/09/07 Python
python语言中with as的用法使用详解
2018/02/23 Python
python数据批量写入ScrolledText的优化方法
2018/10/11 Python
python多进程间通信代码实例
2019/09/30 Python
python自动化测试无法启动谷歌浏览器问题
2019/10/10 Python
Python+Redis实现布隆过滤器
2019/12/08 Python
物业管理员岗位职责范文
2013/11/25 职场文书
人力资源专业推荐信
2013/11/29 职场文书
交通安全寄语大全
2014/04/08 职场文书
会计学专业自荐信
2014/06/25 职场文书
公司市场部岗位职责
2015/04/15 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
Python实现Telnet自动连接检测密码的示例
2021/04/16 Python
解析Java中的static关键字
2021/06/14 Java/Android
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python