有没有办法只设置嵌套无序列表的父元素的样式?

时间:2012-06-18 14:51:47

标签: css css-selectors html-lists parent-child

  

可能重复:
  Is there a CSS parent selector?
  CSS selector for “foo that contains bar”?

我有一组嵌套的无序列表,我希望能够仅设置具有子项的<li>父项。 html看起来像这样:

<ul>
    <li>item one</li>
    <li>item two</li>
    <li>item three
        <ul>
            <li>child item</li>
        </ul>
    </li
</ul>

我希望能够添加背景图像,即仅添加“第三项”。最简单的方法是什么?

1 个答案:

答案 0 :(得分:1)

我使用jQuery循环遍历UL并找到带有UL子元素的LI元素。也许这样吗?:

<style type="text/css">
    .newClass {
        background: #059;
    }
</style>

<script>

$(document).ready(function() {
    $('#mainUL li').each(function(i) {
        if ($(this).children('ul').length > 0) {
            $(this).addClass('newClass');
        }
    });
});

</script>

<ul id="mainUL">
    <li>item one</li>
    <li>item two</li>
    <li>item three
        <ul>
            <li>child item</li>
        </ul>
    </li>
</ul>