选择器中的空格也是不容忽视的,多一个空格或少一个空格也许会得到截然不同的结果。
看下面的例子,它的HTML代码如下:
<div class="test">
<div style="display: none;">aa</div>
<div style="display: none;">bb</div>
<div style="display: none;">cc</div>
<div class="test" style="display: none;">dd</div>
</div>
<div class="test" style="display: none;">ee</div>
<div class="test" style="display: none;">ff</div>
使用如下的jQuery选择器分别获取它们。
var $t_a = $('.test :hidden');
var $t_b = $('.test:hidden');
var len_a = $t_a.length;
var len_b = $t_b.length;
alert("len_a = "+len_a);
alert("len_b = "+len_b);
之所以会出现不同的结果,是因为后代选择器与过滤选择器的不同。
var $t_a = $('.test :hidden'); ///带空格的
以上代码是选取class为test的元素里面的隐藏元素。
而代码:
var $t_b = $('.test:hidden');///不带空格的
则是选取隐藏的class为test的元素