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 相关文章推荐
另类调用flash无须激活的方法
Dec 27 Javascript
Web版彷 Visual Studio 2003 颜色选择器
Jan 09 Javascript
用JavaScript调用WebService的示例
Apr 07 Javascript
Javascript 表单之间的数据传递代码
Dec 04 Javascript
js如何判断不同系统的浏览器类型
Oct 28 Javascript
详解jquery uploadify 上传文件
Nov 09 Javascript
JavaScript实现在数组中查找不同顺序排列的字符串
Sep 26 Javascript
JavaScript中5种调用函数的方法
Mar 12 Javascript
Google 地图控件集详解及实例代码
Aug 06 Javascript
JS高级运动实例分析
Dec 20 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
Aug 17 Javascript
Flexible.js可伸缩布局实现方法详解
Nov 13 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学习之变量的使用
2011/05/29 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
Yii学习总结之安装配置
2015/02/22 PHP
Laravel5.1 框架响应基本用法实例分析
2020/01/04 PHP
PHP fopen中文文件名乱码问题解决方案
2020/10/28 PHP
Prototype使用指南之base.js
2007/01/10 Javascript
js AspxButton的客户端操作
2009/06/26 Javascript
网站接入QQ登录的两种方法
2014/07/22 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
2016/01/22 Javascript
layui框架table 数据表格的方法级渲染详解
2018/08/19 Javascript
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
vue 解决provide和inject响应的问题
2020/11/12 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
python实现代理服务功能实例
2013/11/15 Python
Python通过future处理并发问题
2017/10/17 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
2018/06/06 Python
在Python 不同级目录之间模块的调用方法
2019/01/19 Python
python3实现表白神器
2019/04/09 Python
Django 开发环境与生产环境的区分详解
2019/07/26 Python
python正则表达式 匹配反斜杠的操作方法
2020/08/07 Python
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
中国专业的综合网上购物商城:京东
2016/08/02 全球购物
zooplus波兰:在线宠物店
2019/07/21 全球购物
高中生毕业自我鉴定
2013/10/10 职场文书
大学生实习感言
2014/01/16 职场文书
歌唱比赛获奖感言
2014/01/21 职场文书
优秀通讯员事迹材料
2014/01/28 职场文书
函授本科自我鉴定
2014/02/04 职场文书
安全责任书怎么写
2014/07/28 职场文书
政府个人对照检查材料
2014/08/28 职场文书
美术教师求职信范文
2015/03/20 职场文书
乡镇党建工作总结2015
2015/05/19 职场文书
女儿满月酒致辞
2015/07/29 职场文书
代码解析React中setState同步和异步问题
2021/06/03 Javascript
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL