2014-03-06 39 views
2

我有这个jQuery的addClass到UL孩子只有

<ul> 
    <li class="quiddam"> 
    <a href="">Lorem</a> 
    <ul> 
     <li><a href="">Ipsum</a></li> 
     <li><a href="">Dolores</a></li> 
    </ul> 
    </li> 
</ul> 

如果我使用jQuery来添加一个类 “brimsom” 的类 “quiddam” 的孩子是这样的:

$(".quiddam").children().addClass("brimsom"); 

a标签和ul标签子都会得到“brimsom”类。

如何将“brimsom”类添加到仅作为ul标签的“quiddam”的所有子项?

回答

1

试试这个

$(".quiddam>ul").addClass("brimsom"); 
+0

为什么Downvote这个答案吗? – Amit

+0

我要去投票了。正确的解决方案 –

+0

因为只是解决某些代码的答案很少解释为什么 - 没有意义,因为它们将它们“喂”到鱼身上,而没有教导如何使用鱼竿。 – moka

4

这两个标签和UL标签的孩子将得到一流 “brimsom” 的。

这是不正确的。

以下代码片段将向具有“quiddam”类的所有元素添加类“brimson”,而不是的子元素。

$(".quiddam").addClass("brimsom"); 

因此:

<li class="quiddam brimson"> 

下面的脚本将它们添加到所有的子元素:

​​

但是,您所需要的仅仅是ul孩子,这将是:

因此:

<li class="quiddam"> 
    <a href="">Lorem</a> 
    <ul class="brimson"> 
+0

hehe对不起,我的错 –

1

使用:

$('.quiddam ul').addClass('brimsom'); 

$('.quiddam').find('ul').addClass('brimsom'); 
+0

它的工作,谢谢 –

+0

@RascalCapac:很高兴它有帮助:) –

2

试试这个$('.quiddam ul').addClass('brimsom');

或者这一个$('.quiddam').find('ul').addClass('brimsom');

或者$(".quiddam>ul").addClass("brimsom");

0
$(".quiddam > ul").addClass("brimsom"); 

>选择在包装quiddam第一级UL。

0

哈,这也适用:

$(".quiddam").children("ul").addClass("brimsom"); 
+1

有很多方法可以做到这一点....你甚至可以写关于它的书:P –