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 相关文章推荐
Jsonp 跨域的原理以及Jquery的解决方案
May 18 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
Jan 09 Javascript
drag-and-drop实现图片浏览器预览
Aug 06 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
Oct 20 Javascript
基于bootstrap风格的弹框插件
Dec 28 Javascript
vue router2.0二级路由的简单使用
Jul 05 Javascript
C#实现将一个字符转换为整数
Dec 12 Javascript
Vue.js 父子组件通信的十种方式
Oct 30 Javascript
微信小程序日历/日期选择插件使用方法详解
Dec 28 Javascript
微信小程序自定义toast组件的方法详解【含动画】
May 11 Javascript
vue.js实现图书管理功能
Sep 24 Javascript
字节飞书面试promise.all实现示例
Jun 16 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
计算一段日期内的周末天数的php代码(星期六,星期日总和)
2009/11/12 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
php实现过滤表单提交中html标签的方法
2014/10/17 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
PHP实现简易计算器功能
2020/08/28 PHP
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
表单验证插件Validation应用的实例讲解
2015/10/10 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
js带闹铃功能的倒计时代码
2016/09/29 Javascript
ECMAScript6--解构
2017/03/30 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
2017/06/02 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
2018/11/22 Javascript
vue 内联样式style中的background用法说明
2020/08/05 Javascript
python实现时间o(1)的最小栈的实例代码
2018/07/23 Python
Python 读写文件的操作代码
2018/09/20 Python
python爬虫爬取微博评论案例详解
2019/03/27 Python
numpy创建单位矩阵和对角矩阵的实例
2019/11/29 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
2020/09/11 Python
Python远程linux执行命令实现
2020/11/11 Python
canvas实现圆形进度条动画的示例代码
2017/12/26 HTML / CSS
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
幼儿园园长自我鉴定
2013/10/22 职场文书
超市开店计划书
2014/04/26 职场文书
无毒社区工作方案
2014/05/23 职场文书
个人存款证明书
2014/10/18 职场文书
发展党员工作情况汇报
2014/10/28 职场文书
清洁员岗位职责
2015/02/15 职场文书
企业党支部工作总结2015
2015/05/21 职场文书
MySQL注入基础练习
2021/05/30 MySQL
VUE递归树形实现多级列表
2022/07/15 Vue.js