如何使用jQuery将类添加到多个div?

时间:2013-10-31 12:01:13

标签: javascript jquery html css

如何将类似 odd 甚至的类名添加到具有相同ID的div?

我在第一个div上获得了类名,但没有获得其他下一个div。

请帮我解决问题。下面的代码是我得到的解决方案,但它不能按照我的要求工作。

找到解决方案对我有很大帮助。

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$( document ).ready(function() {
var flag=1;
for(var i=0; Some Condition To break the loop ; i++
{
    if (flag%2==0)
    {
        $('#partner').addClass('even');
        flag++;
    }
    else
    {
        $('#partner').addClass('odd');
        flag++;
    }
}
});

</script>

<div id="partner" >
    <div id="image">
        <p>some content</p>
    </div>
</div>

<div id="partner" >
    <div id="image">
        <p>some content</p>
    </div>
</div>

<div id="partner" >
    <div id="image">
        <p>some content</p>
    </div>
</div>

2 个答案:

答案 0 :(得分:5)

由于存在重复值

,因此您需要使用class而不是id
<div class="partner" >
    <div class="image">
        <p>some content</p>
    </div>
</div>

<div class="partner" >
    <div class="image">
        <p>some content</p>
    </div>
</div>

<div class="partner" >
    <div class="image">
        <p>some content</p>
    </div>
</div>

然后

jQuery(function () {
    var $parters = $('.partner')
    //note the even/odd selector and class are swapped because the selector uses index to filter so the first item has the index 0 so it will be selected by `:even` selector
    $parters.filter(':even').addClass('odd')
    $parters.filter(':odd').addClass('even')
})

演示:Fiddle

答案 1 :(得分:1)

使用jQuery看起来有点矫枉过正,为什么不将IDs更改为Classes,因为IDs必须是唯一的。

<强> CSS

    .partner:nth-child(even) {background: red}
    .partner:nth-child(odd) {background: lime}

<强> HTML

<div class="partner" >
    <div class="image">
        <p>some content</p>
    </div>
</div>

<div class="partner" >
    <div class="image">
        <p>some content</p>
    </div>
</div>

<div class="partner" >
    <div class="image">
        <p>some content</p>
    </div>
</div>