Изменить CSS с помощью «если» в JQuery - PullRequest
0 голосов
/ 20 августа 2009

Есть ли способ изменить CSS родительского div, только если дочерний элемент видим? И снова, когда нет ??? Я ломаю себе голову, и я весь Googled и jQuery, документированный.

Ответы [ 4 ]

5 голосов
/ 20 августа 2009
$(".childClass").each(function(){
    if($(this).is(":visible"))
    {
        $(this).parent().css("some_attribute", "some_value");
    }
    else
    {
        $(this).parent().css("some_attribute", "default_value");
    }
});

Вы также можете использовать addClass / RemoveClass для родителя, но будьте осторожны, если вы удалите класс, который вы используете как часть селектора, чтобы найти дочерний элемент.

1 голос
/ 20 августа 2009

Это может быть не так эффективно, как у Криса Доггетта, но оно короче ... подумал, что я его выброшу, чтобы у вас была возможность:

$("childClass:visible").parent().css("some_attribute", "some_value");
$("childClass:hidden").parent().css("some_attribute", "default_value");
1 голос
/ 20 августа 2009
if(($('#childId').css('display')!="none")&&($('#childId').css('visibility')!="hidden"){
  $('#childId').parent().css('property',value);
}
0 голосов
/ 20 августа 2009
$(".childClass").each(function(){
    var $this = $(this);

    $this.is(":visible") ? $this.parent().css("some_attribute", "some_value")
                         : $this.parent().css("some_attribute", "some_value")
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...