深度嵌套,任意lenth定义列表,Jquery中的斑马条纹

时间:2012-11-06 20:22:12

标签: jquery-selectors jquery zebra-striping

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

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

我需要:

  1. 斑马纹将DT / DD组彼此绑定并
  2. 为遇到的每个嵌套列表启动偶数/奇数序列。

    • 使用:even和:odd因为额外的DD而无效。
    • 我尝试过使用每个循环,如下所示:http://jsfiddle.net/XJ9j4/,修复A但忽略B.即将第一个子dt / dd组合的背景颜色与第一个父组合比较,并考虑返回到父列表应该是蓝色而不是绿色。
  3. 思想?

1 个答案:

答案 0 :(得分: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/