选择div与class,除非它有另一个类的祖先

时间:2012-11-27 20:24:59

标签: jquery

十分钟前问过这个问题,但意识到我用的是父母而不是祖先。我正在寻找一种具有特定祖先的类。

如何选择所有没有特定类父级的输入?

在这里,我只想获得没有父类与非父类

的输入
$(document).ready(function() {

    $("div:not(.not-ancestor) > input[type='text']").css('color', '#FF1200');
});​

http://jsfiddle.net/MFtv3/3/

谢谢!

1 个答案:

答案 0 :(得分:5)

您可以使用过滤器,并使用nearest()检查元素是否在其上方的某个位置具有您要查找的类,如下所示:

$("div > input[type='text']").filter(function() {
    return !$(this).closest('.not-ancestor').length;
}).css('color', '#FF1200');

FIDDLE

修改

获取元素集合以供进一步使用:

var elems = $("div > input[type='text']").filter(function() {
                return !$(this).closest('.not-ancestor').length;
            });

elems.css('color', 'red');
elems.each(function(idx, elem) {
    $(elem).data('index', idx);
});