将Class添加到具有某些CSS的子级的父级

时间:2015-03-03 18:07:09

标签: jquery

我想检查并查看某些元素是否具有具有特定CSS属性的子元素。然后我想要只为那些拥有CSS属性的孩子的父母添加一个类。

以下是我正在处理的脚本:

$( document ).ready(function() {
    if ($('.child').css('display') === 'block') {
            $(this).parent().addClass( "newClass" );
    };
});

问题似乎是$(this)没有针对使上述函数为true的任何子元素。有没有办法实现这个目标?

3 个答案:

答案 0 :(得分:2)

$('.child:visible').parent().addClass('newClass');

假设您正在尝试识别可见的孩子。如果它实际上只是有块显示的孩子,那么也有其他选择。

答案 1 :(得分:1)

这样的事情应该这样做:

$( document ).ready(function() {
    $('.child:visible').parent().addClass('newClass');
});

答案 2 :(得分:0)

应该使用jQuery循环,因为实际上$(this)不是对你想要的元素的引用

$('.child').each(function() { 
    if ($(this).css('display') === 'block') {
            $(this).parent().addClass( "newClass" );
    };
});

尝试类似的东西。