向class添加类 - jquery

时间:2012-07-05 14:59:06

标签: jquery html

我有这个HTML代码:

<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 个答案:

答案 0 :(得分:12)

Read about jQuery's addClass method here.

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

上面的代码会为每个image_rotation添加一个ul类,它是类rotation的任何元素的后代。

如果您只想定位属于ul的元素的直接子rotation,请使用child selector (>)

$('.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>

答案 1 :(得分:7)

我建议保持简单:

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

或者,如果ul元素中有多个div.rotation元素,则可以指定第一个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');

参考文献:

答案 2 :(得分:3)

您需要的只是在div中找到UL并将其分配给您的班级。 您可以在此demo中看到它,但HTML的代码位于

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

答案 3 :(得分:2)

这很简单,只需:

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

答案 4 :(得分:2)

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

答案 5 :(得分:1)

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