1

我有一个页面,其中标记包括与任何 DT 关联的随机深度和随机数 DD 的嵌套定义列表。因此:

DL
- DT
- DD
- DT
- DD
- DD
  --DL
     --DT
     --DD
     --DT
     --DD
     --DD
 -DT
 -DD
 -DD

我需要:

  1. zebra 将 DT/DD 组相互条纹化,并且
  2. 为遇到的每个嵌套列表重新开始偶数/奇数序列。

    • 由于额外的 DD,使用 :even 和 :odd 将不起作用。
    • 我尝试使用 each 循环,如下所示:http://jsfiddle.net/XJ9j4/,它修复了 A 但忽略了 B。即将第一个孩子 dt/dd 组合的背景颜色与第一个父母进行比较,并考虑返回应该是蓝色而不是绿色的父列表。

想法?

4

1 回答 1

0

随着我对你想要什么的新理解,我认为这会做到。如果我仍然误解,请告诉我。

$("dl").each(function(){
   $this = $(this);

   $this.children("dt:even").addClass("even").nextUntil("dt").addClass("even");  
   $this.children("dt:odd").addClass("odd").nextUntil("dt").addClass("odd");
});

http://jsfiddle.net/XJ9j4/8/

于 2012-11-06T20:36:27.070 回答