CSS Selector意思是“......除了......的后代”

时间:2013-09-06 19:21:37

标签: css css-selectors

你有这样的DOM,需要选择除div.hidden部分后代之外的所有a元素。

<body>
<div>
    Some text <a href="mailto:alex@domain.com">Email Alex</a> Some more text
    <br/>
    <span>
        Some text <a href="mailto:frank@domain.com">Email Frank</a> Some more text
    </span>
    <hr/>
    <div class="hidden">
        Some text <a href="mailto:rachel@domain.com">Email Rachel</a> Some more text
        <div>
            Some text <a href="mailto:doris@domain.com">Email Doris</a> Some more text
            <p>
                Some text <a href="mailto:molly@domain.com">Email Molly</a> Some more text
            </p>
        </div>
    </div>
    <hr/>
    <div>
        Some text <a href="mailto:paul@domain.com">Email Paul</a> Some more text
    </div>
</div>
</body>

因此将排除水平线内的所有a元素。我怎样才能做到这一点? 不幸的是,使用jQuery不是一个选项。

由于 亚历

1 个答案:

答案 0 :(得分:3)

这样做的一种方法是为所有<a>元素制定一个规则,然后覆盖一个反转div.hidden中规则的规则,即。

a {
    prop: special-value;
}
div.hidden a {
    prop: not-special-value;
}