Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 选择奇数/偶数子div_Jquery_Jquery Selectors - Fatal编程技术网

Jquery 选择奇数/偶数子div

Jquery 选择奇数/偶数子div,jquery,jquery-selectors,Jquery,Jquery Selectors,我正在尝试从代码服务器端动态创建一本书。该部件工作正常,并产生如下输出: <div id="pagesContainer"> <div class="pageContent"> <div> Page 1 content </div> </div> <div class="pageContent"> <div>

我正在尝试从代码服务器端动态创建一本书。该部件工作正常,并产生如下输出:

<div id="pagesContainer">
    <div class="pageContent">
         <div>
             Page 1 content
         </div>
    </div>
    <div class="pageContent">
         <div>
             Page 2 content
         </div>
    </div>
    <div class="pageContent">
         <div>
             Page 3 content
         </div>
    </div>
    <div class="pageContent">
         <div>
             Page 4 content
         </div>
    </div>
    <div class="pageContent">
         <div>
             Page 5 content
         </div>
    </div>
</div>
我需要做的,最好是使用jQuery将类添加到最内部的div中,如pageleft或pageright。例如,第1页、第3页和第5页将向左翻页,而第2页和第4页将向右翻页。也可能有超过或少于5页。我尝试过使用一系列不同的偶数/奇数选择器场景,但似乎无法使其正常工作

有人能给我指出正确的方向吗

谢谢

这应该行得通

$('#pagesContainer').children('.pageContent').each(function(index)
{
    $(this).addClass(index % 2 ? 'page-right' : 'page-left');
});
演示。

尝试:奇数和:偶数选择器:

$('.pageContent:odd').addClass('odd');
您还可以使用:nth child来利用性能提升,因为它是一个内置选择器:

$('.pageContent:nth-child(odd)').addClass('odd');
尝试使用第n个child,如下所述:


使用:奇数和:偶数选择器

例如:

$('.pageContent:odd').addClass("page-left")
$('.pageContent:even').addClass("page-right")
使用“:oddand:偶数”选择器


这就是你想要达到的目标吗?

并不是说,因为元素是0索引的,:偶数将反直觉地选择第一个、第三个、第五个等元素

从文件中

特别要注意的是,基于0的索引意味着, 与直觉相反:甚至选择第一个元素,第三个元素, 在匹配的集合中以此类推


当使用.each进行迭代时,jQuery传递一个整数;你就不能用这个吗?@ManseUK你说得很对。我读到他想在交替行中添加类,并在没有注意到CSS没有被标记的情况下,提出将CSS直接应用于交替行。当然,这个类可以做的不仅仅是CSS!我把这个标记为答案,因为它最接近我。我最终使用了$.pageContent:nth childodd>div.addClasspage-left;符合我的确切需求!谢谢
.pageContent:nth-child(even) { /* Something amazing */ }
$('.pageContent:odd').addClass("page-left")
$('.pageContent:even').addClass("page-right")
     $('.pageContent:odd').addClass('oddClass')
$(".pageContent:odd").addClass("oddPage");
$(".pageContent:even").addClass("evenPage");
$('#pagesContainer > div:even').addClass('page-left');
$('#pagesContainer > div:odd').addClass('page-right');