CSS:如何排除DIV及其后代?

时间:2011-04-22 07:20:19

标签: css jquery-selectors

我的html看起来像这样:

<div id="mainDiv">
    <div id="childDiv1">
        <img />
        <div>
            <img />
            <div />
        </div>
        ...
    </div>
    <div id="childDiv2">
        ...
    </div>
    ...
</div>

我想在除了childDiv1及其后代之外的mainDiv中选择所有内容。我认为#mainDiv :not(#childDiv1)可能会有效,但它只会排除chidlDiv1,而所有后代都会被选中。 #childDiv1 *将选择所有后代(但不是childDiv1本身),但:not(#childDiv1 *)无效。 jQuery解决方案更可取。感谢

3 个答案:

答案 0 :(得分:1)

认为这有效:

$("#mainDiv > :not(#childDiv1)")

答案 1 :(得分:0)

试试这个:

$("#mainDiv :not(#childDiv1), #childDiv :not(*)")

答案 2 :(得分:0)

如果任何mainDiv子项为div格式。

$('#mainDiv div:gt(0)')