为子元素添加类 - jQuery

6

I have this html code:

<div class="rotation">
  <ul>
    <li><img src="..." alt="" /></li>
    <li><img src="..." alt="" /></li>
    <li><img src="..." alt="" /></li>
  </ul>
</div>

我需要为ul标签添加类名,我想使用jQuery来实现,因为ul和li是没有任何类名的。
假设ul标签需要是<ul class="image_rotation">。我该如何实现?

6个回答

15

在这里阅读有关 jQuery 的 addClass 方法的说明。

$('.rotation ul').addClass('image_rotation');

以上代码会给每个带有类名为rotation的元素的后代ul添加一个image_rotation类。

如果你想要只选择作为类名为rotation的元素的直接子元素ul,请使用子代选择器(>

$('.rotation > ul').addClass('image_rotation');
如果您只想在一个名为.rotation的元素上执行此操作,您应该给它一个id,并以这种方式选择它。例如:
$('#rotation ul');

并且

<div id="rotation" class="rotation">
    <ul>
        <li><img src="..." alt="" /></li>
        <li><img src="..." alt="" /></li>
        <li><img src="..." alt="" /></li>
    </ul>
</div>

这比谷歌好。我写下我的问题,30秒后就得到了答案。在那之前,我在谷歌上寻找至少10分钟。顺便说一句,非常好的答案。 - miszczu
1
@miszczu 谢谢你,是的,这个网站非常有帮助。友情提示:提问时要小心。我们会根据你所做的研究工作和问题的清晰度来投票支持或反对你的问题。这个问题非常清晰,但我之前看到你得到了一个反对票(现在看起来你回到了0)。这可能是因为你没有做任何研究工作。记得展示你已经尝试过什么以及查阅了哪些文档。有时候,在这样做之后,你可以自己回答这个问题!干杯 - lbstr

8
我建议保持简单:

我建议保持简单:

$('div.rotation ul').addClass('image_rotation');

或者,如果在 div.rotation 元素中有多个 ul 元素,您可以指定第一个 ul:

$('div.rotation ul:first').addClass('image_rotation');

最后一个 ul
$('div.rotation ul:last').addClass('image_rotation');

或者一个任意的从零开始索引的ul,例如第三个ul(索引为2):

$('div.rotation ul:eq(2)').addClass('image_rotation');

或者:

$('div.rotation ul').eq(2).addClass('image_rotation');

或者是直接的子元素(因此不包括任何其他元素中嵌套的 ul 元素):

$('div.rotation > ul').addClass('image_rotation');

参考文献:


4

您只需要在 div 中找到 UL,并将其分配给您的 class。您可以在此演示中查看它,但下面是您 HTML 的代码

$(document).ready(function(){
    $('ul','div.rotation').each(function(index){
        $(this).addClass('image_rotation');
    });
});​

1

这很简单,只需要做:

$(document).ready(function(){
    $('div.rotation ul').addClass('image_rotation');
});

1
$(".rotation ul").attr("class","image_rotation");

0
$(".rotation").children("ul").addClass( "MyClass");

"children" 应该是小写的 "c",而且在 (".rotation") 前面缺少 $jQuery - lbstr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接