选择不低于给定元素的元素

时间:2012-03-26 13:35:01

标签: jquery css

我正在努力使用css选择器。我需要一个css规则,它返回所有输入字段,但低于特定字段。

这是一个HTML代码示例:

<div id="container">
    <div>
        <input name="apple">
        <div class="sub">
            <input name="banana">
            <input name="grapefruit">
        </div>
    </div>
</div>

口头规则是:

向我提供#container以下的所有输入字段,但不包括类名为“sub”的元素下方的输入字段。

html代码是动态的,所以我不能依赖像>之类的简单子选择器。我已经摆弄了:not()选择器但到目前为止没有运气。

注意:我正在使用jQuery进行元素选择。

2 个答案:

答案 0 :(得分:4)

你应该看看这样的事情;

$('input:not(.sub input)')

:not选择器排除了sub下面的输入元素。你也可以使用这样更清楚的东西:

$('input').not($('.sub').find('*'));

答案 1 :(得分:0)

$("#container input").filter(
                    function (){
                                 return $(this).parent().hasClass("sub")==false
                               }
                            ).css('background-color','red'); //make those elements - RED