如何为动态列表中的偶数和奇数子项设置样式?

时间:2018-09-12 18:30:42

标签: jquery css css3

我正在使用

$('.js-toprow:nth-child(even)').css("background:", "#ddd");
$('.js-toprow:nth-child(odd)').css("background:", "#ff0000");

在函数内部:

function resetSlides() {
    container.css({
        'top': -1 * item_height
    });

// >> Using it here <<   
}

要使元素树具有两种不同的颜色。

完整的代码可以在这里看到(已经解决):"Working" script returning Uncaught DOMException: Failed to execute 'insertBefore' on 'Node': The new child element contains the parent

在这种情况下,应设置样式的变量为“幻灯片”,因此我尝试在函数内部使用slides.css({'background': '#000'});进行测试,并且可以正常工作,但我仍然需要偶数和奇数。

是的,我只需要使用jQuery即可实现,因为使用CSS会导致在将新元素插入列表的开头时对子元素进行重新样式设置。

1 个答案:

答案 0 :(得分:1)

您可以遍历元素并测试索引以确定它是偶数还是奇数:

$('.js-toprow').each(function(index) {
    if (index % 2 === 0) { // Even
      $(this).css('background', '#ddd');
    } else { // Odd
      $(this).css('background', '#ff0000');
    }        
});

取模运算符返回两个数字相除的余数,在这种情况下为index2。偶数始终返回0