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 相关文章推荐
大家未必知道的Js技巧收藏
Apr 07 Javascript
JS二维数组的定义说明
Mar 03 Javascript
JavaScript获取页面中表单(form)数量的方法
Apr 03 Javascript
JS实现点击按钮获取页面高度的方法
Nov 02 Javascript
jquery制作属于自己的select自定义样式
Nov 23 Javascript
JS+HTML5实现图片在线预览功能
Jul 22 Javascript
Angular弹出模态框的两种方式
Oct 19 Javascript
Vuejs监听vuex中值的变化的方法示例
Dec 02 Javascript
Vue 实现前进刷新后退不刷新的效果
Jun 14 Javascript
微信小程序使用GoEasy实现websocket实时通讯
May 19 Javascript
vue 获取url里参数的两种方法小结
Nov 12 Javascript
Vue3.0中Ref与Reactive的区别示例详析
Jul 07 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
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
JavaScript模拟可展开、拖动与关闭的聊天窗口实例
2015/05/12 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
2017/02/17 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
2018/05/27 Javascript
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
2018/09/28 Javascript
jQuery实现每日秒杀商品倒计时功能
2019/09/06 jQuery
vue组件 keep-alive 和 transition 使用详解
2019/10/11 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
python中for语句简单遍历数据的方法
2015/05/07 Python
Python+MongoDB自增键值的简单实现
2016/11/04 Python
Python探索之创建二叉树
2017/10/25 Python
Django 反向生成url实例详解
2019/07/30 Python
Python os库常用操作代码汇总
2020/11/03 Python
伦敦高级内衣品牌:Agent Provocateur(大内密探)
2016/08/23 全球购物
马来西亚最大的电器网站:Senheng
2017/10/13 全球购物
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
中专毕业生的自我鉴定
2013/12/01 职场文书
教师应聘自荐信范文
2014/03/14 职场文书
外语系毕业生求职自荐信
2014/04/12 职场文书
祖国在我心中演讲稿400字
2014/05/04 职场文书
计算机专业求职信
2014/06/02 职场文书
小学思品教学反思
2016/02/20 职场文书
Java图书管理系统,课程设计必用(源码+文档)
2021/06/30 Java/Android
MySQL中varchar和char类型的区别
2021/11/17 MySQL