2013-03-18 4 views
0

Quand une classe active est présente sur le <a>, je voudrais déplacer cette classe jusqu'à son parent le plus élevé; le <div class="views-row">Comment trouver une classe active et la déplacer vers un conteneur parent en utilisant jQuery?

<div class="views-row-unformatted views-row views-row-2 views-row-even"> 
    <div class="title"> 
    <span class="field-content"> 
     <a class="active"> 
     <h3>Title Text</h3> 
     </a> 
    </span>  
    </div> 
</div> 

Je suis limitée à travailler dans la couche de thème et ont seulement jQuery et CSS que mes outils.

Répondre

1

Vous pouvez utiliser sélecteur :has ou has méthode:

$('div.views-row:has(a.active)') 
        .addClass('active') 
        .find('a.active') 
        .removeClass('active'); 

http://jsfiddle.net/RmxWq/

+0

Merci d'avoir fait un effort supplémentaire et d'avoir fourni une base de données. – JCL

+0

@JCL Vous êtes les bienvenus. – undefined

0

utilisation :has(), parents() et addClass().

$('a:has(".active")').parents('div.views-row').addClass('active'); 
Questions connexes