Javascript 在CSS中为每一个子层着色

Javascript 在CSS中为每一个子层着色,javascript,html,css,css-selectors,parent-child,Javascript,Html,Css,Css Selectors,Parent Child,我正在开发一个包含层次结构的白板应用程序 所以我的问题是:如何在CSS(或者如果需要js)中为每一个子层着色 示例样式 ul{ 宽度:256px; 最小高度:64px; 填充:16px 0 16px 16px; 背景颜色:蓝色; } /*以下内容应替换为选择器或JS算法*/ div>ul>ul, div>ul>ul>ul>ul, div>ul>ul>ul>ul>ul>ul, div>ul>ul>ul>ul>ul>ul>ul>ul>ul{ 背景色:红色; } 没有CSS

我正在开发一个包含层次结构的白板应用程序

所以我的问题是:如何在CSS(或者如果需要js)中为每一个子层着色

示例样式

ul{
宽度:256px;
最小高度:64px;
填充:16px 0 16px 16px;
背景颜色:蓝色;
}
/*以下内容应替换为选择器或JS算法*/
div>ul>ul,
div>ul>ul>ul>ul,
div>ul>ul>ul>ul>ul>ul,
div>ul>ul>ul>ul>ul>ul>ul>ul>ul{
背景色:红色;
}


没有CSS选择器。但是,您可以使用JavaScript中的递归函数(jQuery)实现它:


看看应该是这样的:nth child(odd){background:#colorcode;}@calinaadi这在这里不起作用,因为我想在child中的child中选择child。。。elements@Paulie_D请刷新codepen示例强制性“不要使用w3schools”注释我认为您是在动态创建HTML代码,因此只需向
添加一个类就更容易了,它需要设置样式。是的,我们将这样做,因此php将生成类
colorList($('div > ul'));

function colorList($ul) {
    $ul.css({'backgroundColor': 'red'});

    var $nextElement = $ul.find('> ul > ul');
    if($nextElement.length) {
        colorList($nextElement);
    }
}