2010-08-03 2 views
0

У меня есть функция JQuery, которая выполняет slideDown anitmation на определенном элементе при нажатии, как этотjQuery slideDown выбрать определенный элемент?

$('.Minimize').click(function() { 
      $('.ContentTD').slideUp('slow', function() { 
       //animation complete 
      }); 
     }); 

выше сценарий написан внутри элемента управления веб-пользователя.

проблема заключается в том, что если на странице есть много экземпляров элемента управления, функция slideDown выполняется во всех экземплярах на странице.

Я хочу, чтобы функция выполнялась только в элементе управления, который я нажимаю.

как это сделать? благодаря

ответ

1

Вы можете подняться к контейнеру, они оба и найти элемент относительно, например:

$('.Minimize').click(function() { 
    $(this).closest('.container').find('.ContentTD').slideUp('slow'); 
}); 

Это предполагает разметкой что-то вроде этого:

<div class="container"> 
    <button class="Minimize">Minimize</button> 
    <div class="ContentTD">Content</div> 
</div> 

Как долго поскольку оба находятся внутри какого-либо контейнера с классом или другим атрибутом, который вы можете идентифицировать, вы можете использовать .closest() и .find(), чтобы получить .ContentTD только в , что. Или, если они являются братьями и сестрами, как простой пример выше, .siblings('.ContentTD') работает, или другойtree traversal method, нужно использовать $(this) (.Minimize10), и вы найдете элемент относительно этого.

+0

Спасибо, Ник, это именно то, что я хотел –

Смежные вопросы