Как найти активный класс и переместить его в родительский контейнер с помощью jQuery?

Когда активный класс присутствует на <a>Я хотел бы переместить этот класс до его самого высокого родителя; <div class="views-row">

<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>

Я ограничен работой в слое темы и использую только jQuery и CSS в качестве инструментов.

2 ответа

Решение

Ты можешь использовать :has селектор или has метод:

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

http://jsfiddle.net/RmxWq/

Использование :has(), parents() а также addClass(),

$('a:has(".active")').parents('div.views-row').addClass('active');
Другие вопросы по тегам