Jquery Selectors为什么要添加空格?

时间:2014-09-05 09:21:40

标签: jquery css

与Jquery搞混,并想知道为什么选择器中有空格。 如果我有这样的列表:

<ul id="list">
    <li class="a">item </li>
    <li class="b">item </li>
    <li class="c">item </li>
    <li class="d">item </li>
</ul>

我想选择所有 li 项目 a 生病了:

$('li.a');

但如果我想选择所有类 b 项目,但在 ul 标签内,我会这样写:

$('ul .b');

为什么有空间?

6 个答案:

答案 0 :(得分:3)

表示您正在选择内的项目。不是带有的项目。

所以你在第一种情况下选择带有“a”类的li,在第二种情况下选择带有“b”类的所有项目。

这是非常不同的选择逻辑。

答案 1 :(得分:2)

li.a选择lia元素。

ul .b选择类b的元素,其中ul为祖先。

ul > .b选择类别b的元素,其中ul父级。)

答案 2 :(得分:1)

通过这样做:

$('li.a');

您将li标签与类

进行匹配
$('ul .b');

此代码将匹配ul标签,并且在ul标签内所有元素与b class

匹配

希望它有用。

答案 3 :(得分:0)

空间在这里解释具有类b的元素在ul元素内。

你会发现很多关于CSS选择器的信息(jQuery使用它)here

答案 4 :(得分:0)

$('li.a')表示所有li个类a;

$('ul .b')表示ul的所有后代都有b类。

答案 5 :(得分:0)

 $('li.a'); // it will select li with a class

 $('ul .b');   it is like  $('ul').find('.b');  // select child element  of ul