根据类名选择对象时排除某些子项

时间:2014-06-06 08:54:31

标签: javascript jquery

我有这个函数,它在代码块中找到输入字段:

$('.files-block').each(function(n, element) {
// some code that finds imput fields
}); 

问题是我需要在div .second-files-block中排除输入字段。

我尝试使用:

$('.files-block').children().not('.second-files-block')

$('.files-block:not(.second-files-block)')

$('.files-block').not('.second-files-block')

没有什么真正有效......这是正确的方法吗?

示例代码

<div id="filesBlock">
    <div class="files-block" id="files-block1">
        <input class="files" type="text" id="files" />
        <div id="filesSecondBlock">
            <div class="files-second-block" id="files-second-block1">
                <input class="files" type="text" id="files" /><!-- exclude this -->
            </div>
    </div>
</div>

2 个答案:

答案 0 :(得分:1)

尝试使用jQuery子选择器>

$(".files-block > input")

这将只选择inputs的直接子项.files-block

此JSFiddle使目标input变为红色:http://jsfiddle.net/Px7Pw/

答案 1 :(得分:0)

使用如下

 $('div[class="second-files-block"] :input[class="files-block"])

它只搜索那些具有类files-block的输入,那些属于div的类second-files-block