jQuery选择器中空格的注意事项

jQuery中选择器中的空格一直都觉得是一个不起眼的小问题,可往往是小问题会给我们的结果带来很大的影响,多一个空格和少一个空格也许会得到截然不同的结果。所以空格问题不容忽视!

首先来解释一下选择器里带空格是什么意思,如果选择器中两个元素之间用空格隔开,则表示为前一个元素的后代元素。比如$(‘div :hidden’),表示的是div里所有的隐藏元素,这个隐藏元素可以是div的子元素,也可以是div子元素的子元素。如果选择器中没有空格的话,表示一个并且的关系,如果说$(‘div:hidden’),表示的是所有隐藏的div,这个就和元素的层次没有关系了!

下面看一个实例:HTML代码部分
<div>
<div style="display: none;">aa</div>
<div style="display: none;">bb</div>
<div style="display: none;">cc</div>
<div style="display: none;">dd</div>
</div>
<div style="display: none;">ee</div>
<div style="display: none;">ff</div>

jQuery部分
var $ta = $('.test :hidden'); //带空格的选择器表示class为test的元素中所有隐藏的元素,很明显结果是第一个div里所有的元素
var $tb = $('.test:hidden'); //不带空格的选择器,表示的是class为test并且是隐藏的元素,这里指的是后两个div以及第一个div中的最后一个子元素
alert($ta.length); //输出为4
alert($tb.length); // 输出为3

jQuery选择器中空格问题不容忽视,所以在开发过程中一定要理清思路,看看是否需要加空格。

jQuery的选择器(四) 表单选择器

如果看了前面关于jQuery选择器的文章后,相信你对选择器的语法已经非常熟悉了,现在介绍一下jQuery的最后一类选择器:表单选择器。

为了使用户能够更加灵活的操作表单,jQuery中专门加入了表单选择器。利用这个选择器,能及其方便的获取到表单的某个或某类型的元素

选择器 描述 返回
:input 选取所有的<input>、<textarea>、<select>、<button>元素 集合元素
:text 选取所有的单行文本框 集合元素
:password 选取所有的密码框 集合元素
:radio 选取所有的单选框 集合元素
:checkbox 选取所有的多选框 集合元素
:submit 选取所有的提交按钮 集合元素
:image 选取所有的图像按钮 集合元素
:reset 选取所有的重置按钮 集合元素
:button 选取所有的按钮 集合元素
:file 选取所有的上传域 集合元素
:hidden 选取所有的不可见元素 集合元素

继续阅读

jQuery的选择器(三) 过滤选择器

jQuery的过滤选择器主要是通过特定的过滤规则来筛选出所需的DOM元素,过滤规则与CSS中的伪类选择器语法相同,即选择器都以一个冒号(:)开头。按照不同的过滤规则,过滤选择器可以分为:基本过滤,内容过滤,可见性过滤,属性过滤,子元素过滤和表单对象属性过滤。

1. 基本过滤选择器

选择器 描述 返回
:first 选取第1个元素 单个元素
:last 选取最后一个元素 单个元素
:not(selector) 去除所有与给定选择器匹配的元素 集合元素
:even 选取索引是偶数的所有元素,索引从0开始 集合元素
:o dd 选取索引是奇数的所有元素,索引从0开始 集合元素
:eq(index) 选取索引等于index的元素(index从0开始) 单个元素
:gt(index) 选取索引大于index的元素(index从0开始) 集合元素
:lt(index) 选取索引小于index的元素(index从1开始) 集合元素
:header 选取所有的标题元素,例如h1,h2,h3等等 集合元素
:animated 选取当前正在执行动画的所有元素 集合元素

继续阅读

jQuery的选择器(二) 层次选择器

这里首先介绍一下jQuery的另一类选择器:层次选择器。

如果想通过DOM元素之间的层次关系来获取特定元素,例如后代元素,子元素,相邻元素和兄弟元素等,那么都可以用到层次选择器,先大体介绍一下层次选择器的格式。

选择器 描述 返回
$(”ancestor descendant”) 选取ancestor元素里的所有descendant(后代)元素 集合元素
$(“parent > child”) 选取parent元素下的child(子)元素,与$(”ancestor descendant”)有区别,$(”ancestor descendant”)选择的是后代元素 集合元素
$(‘prev + next’) 选取紧接在prev元素后的next元素 集合元素
$(‘prev ~ siblings’) 选取prev元素之后的氖siblings元素 集合元素

继续阅读

jQuery的选择器(一) 基本选择器

选择器是jQuery的根基,包括四个大类:基本选择器,层次选择器,过滤选择器和表单选择器。这里首先介绍一类最常用的选择器:基本选择器。其他的选择器在稍后的文章中将会陆续发布。

基本选择器是jQuery中最常用的选择器,也是比较简单的选择员,它通过元素的id,class和标签名等来查找DOM元素,在网页中每个id名称只能使用一次,class允许重复使用。可以试用这些基本选择器来完成绝大多数的工作。

选择器 描述 返回
#id 根据给定的id匹配一个元素 单个元素
.class 根据给定的类名匹配元素 集合元素
element 根据给定的元素名匹配元素 集合元素
* 匹配所有元素 集合元素
selector1, selector2,……, selectorN 将每一个选择器匹配到的元素合并后一起反回 集合元素

继续阅读