2009-08-20 11 views

Répondre

5
$(".childClass").each(function(){ 
    if($(this).is(":visible")) 
    { 
     $(this).parent().css("some_attribute", "some_value"); 
    } 
    else 
    { 
     $(this).parent().css("some_attribute", "default_value"); 
    } 
}); 

Vous pouvez également utiliser addClass/removeClass sur le parent, mais soyez prudent si vous supprimez une classe que vous utilisez dans le cadre du sélecteur pour trouver l'élément enfant.

1
if(($('#childId').css('display')!="none")&&($('#childId').css('visibility')!="hidden"){ 
    $('#childId').parent().css('property',value); 
} 
1

Cela peut ne pas être aussi efficace que Chris Doggett de, mais il est plus court ... pensé que je le jeter là-bas que vous auriez l'option:

$("childClass:visible").parent().css("some_attribute", "some_value"); 
$("childClass:hidden").parent().css("some_attribute", "default_value"); 
0
$(".childClass").each(function(){ 
    var $this = $(this); 

    $this.is(":visible") ? $this.parent().css("some_attribute", "some_value") 
         : $this.parent().css("some_attribute", "some_value") 
}); 
+0

Merci pour votre aide les gars, vraiment appréciés! –