-2

如何将奇数偶数类名称添加到具有相同 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>
4

2 回答 2

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')
})

演示:小提琴

于 2013-10-31T12:02:55.990 回答
1

为此使用 jQuery 似乎有点矫枉过正,为什么不直接更改IDsto 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>
于 2013-10-31T12:19:53.770 回答