Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

jQuery развёртывание множества блоков по ссылке

256
29 ноября 2011 года
foxweb
1.0K / / 27.07.2005
Уважаемые знатоки, вопрос такой:
есть таблица из N блоков X, внутри каждого блока — ссылка Yn. как сделать так, чтобы ссылка Yn раскрывала только свой блок Xn?

table tr td div.details — блок.
table tr td a.details_link — ссылка.

Понятно, что каждый блок и каждую ссылку я могу пронумеровать уникальным id, но каким кодом в две строчки заставить работать их все? Не писать же к каждой паре код раскрыти/закрытия?
256
29 ноября 2011 года
foxweb
1.0K / / 27.07.2005
Решение:

 
Код:
<script type="text/javascript">
  $(document).ready(function() {
    $('a.details_link').bind('click', function(){
      $(this).next('div.details').slideToggle('slow');
    });
  });
</script>


Блок следует ЗА ссылкой (next). Если блок перед ссылкой — prev. Если внутри — closest. Если ссылка в блоке — parent.

http://api.jquery.com/category/traversing/tree-traversal/
13
29 ноября 2011 года
RussianSpy
3.0K / / 04.07.2006
Сам спросил, сам ответил - оригинально. Итог - документация рулит.
6
29 ноября 2011 года
George
4.1K / / 05.01.2007
Цитата: RussianSpy
Сам спросил, сам ответил - оригинально. Итог - документация рулит.


Оффтоп, но так бывает, что когда спросил, сразу сам догадался. Хз, может потому, что когда спрашиваешь, приходится немножко мысли в порядок привести дабы донести мысль.

256
29 ноября 2011 года
foxweb
1.0K / / 27.07.2005
Цитата: RussianSpy
Сам спросил, сам ответил - оригинально. Итог - документация рулит.



Да у меня мозги закипают... Будто с тобой не бывает так, что не можешь вспомнить даже как погуглить то, что лежит на поверхности. Можно, конечно, проспаться и вспомнить, но мне щас надо. Написали в джаббер-канале.

274
29 ноября 2011 года
Lone Wolf
1.3K / / 26.11.2006
Все правильно сделал. Молодец.
Раз тему уже создал, то не оставлять же без решение. Иначе на комментарий "уже разобрался", сами же и напишем "решение в студию"
12
30 ноября 2011 года
alekciy
3.0K / / 13.12.2005
Вот сразу видно тему в которой активно отписались старички форума :D
271
30 ноября 2011 года
MrXaK
721 / / 31.12.2002
Могу добавить, что в jQuery 1.7 метод .on() предпочтительнее, чем .bind(). А ещё лучше использовать .click(). В нужном jQuery он будет нужным алиасом, и потом не возникнет проблем при миграции на новую версию.
256
30 ноября 2011 года
foxweb
1.0K / / 27.07.2005
Цитата: MrXaK
Могу добавить, что в jQuery 1.7 метод .on() предпочтительнее, чем .bind(). А ещё лучше использовать .click(). В нужном jQuery он будет нужным алиасом, и потом не возникнет проблем при миграции на новую версию.



Спасибо за ценное замечание. Применяю Jquery эпизодически и таких тонкостей не знаю.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог