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对W3C DOM模版的支持情况
Jun 16 Javascript
jquery实现图片放大镜功能
Nov 23 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
Apr 26 Javascript
JavaScript中数组常见操作技巧
Sep 01 Javascript
详解AngularJS之$window窗口对象
Jan 17 Javascript
angular2模块和共享模块详解
Apr 08 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
Jul 16 Javascript
layer.open关闭父窗口 以及调用父页面的方法
Aug 17 Javascript
vuejs点击class变化的实例
Sep 05 Javascript
websocket4.0+typescript 实现热更新的方法
Aug 14 Javascript
微信小程序如何实现点击图片放大功能
Jan 21 Javascript
基于VUE实现简单的学生信息管理系统
Jan 13 Vue.js
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
php对关联数组循环遍历的实现方法
2015/03/13 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
新闻内页-JS分页
2006/06/07 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
通过javascript获取iframe里的值示例代码
2013/06/24 Javascript
jQuery中:nth-child选择器用法实例
2014/12/31 Javascript
JavaScript之Object类型介绍
2015/04/01 Javascript
JS实现的倒计时效果实例(2则实例)
2015/12/23 Javascript
Bootstrap每天必学之日期控制
2016/03/07 Javascript
Bootstrap复选框和单选按钮美化插件(推荐)
2016/11/23 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
2016/12/19 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
2017/11/26 Javascript
详解微信小程序支付流程与梳理
2019/07/16 Javascript
js实现点赞按钮功能的实例代码
2020/03/06 Javascript
微信小程序后端无法保持session的原因及解决办法问题
2020/03/20 Javascript
[05:06]2017亚洲邀请赛DAC回顾片
2017/04/19 DOTA
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
python如何修改装饰器中参数
2018/03/20 Python
python实现QQ批量登录功能
2019/06/19 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
Python的轻量级ORM框架peewee使用教程
2021/02/05 Python
使用CSS3实现一个3D相册效果实例
2016/12/03 HTML / CSS
HTML5实时语音通话聊天MP3压缩传输3KB每秒
2019/08/28 HTML / CSS
HTML5之语义标签介绍
2016/07/07 HTML / CSS
Java的基础面试题附答案
2016/01/10 面试题
信息科学与技术专业求职信范文
2014/02/20 职场文书
降消项目实施方案
2014/03/30 职场文书
数学教研活动总结
2014/07/02 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
个人更名证明
2015/06/23 职场文书
2015年小学总务工作总结
2015/07/21 职场文书
情感电台广播稿
2015/08/18 职场文书
护士医德医风心得体会
2016/01/25 职场文书
PostgreSQL13基于流复制搭建后备服务器的方法
2022/01/18 PostgreSQL