Как добраться до объекта внутри div#?
Есть такая структурка из двух блоков типа div#item:
<div id="item" class="new"> <div class="button"></div> <div class="text">REALLY TEXT IS HERE!</div> <div class="otherinfo"></div> </div> <div id="item" class="new"> <div class="button"></div> <div class="text">OTHER TEXT IS HERE!</div> <div class="otherinfo"></div> </div> и к нему Jquery: $(function() { $('.button').click(function() { $('.text').slideDown(300); }); }); Но по нажатию на div.button открываются div.text обоих блоков, а нужно что бы открывался только тот, на который я нажал через div.button другими словами: мне нужно как то добраться до объекта (имеющего одинаковый класс с другими), который находится внутри родительского блока на кнопку которого я нажал. На подобии механизма аккордеона. |
$('.button').click(function() { $(this).next(".text").slideDown(300); }); и идентификаторы должны быть уникальными |
Спасибо! Но не работает назначение класса с таким же подходом почему-то... =(
$(this).next('.otherinfo').removeClass('otherinfo'); $(this).next('.otherinfo').addClass('minus'); |
Потому что у элемента уже удалён через .removeClass() класс otherinfo и выборка .otherinfo не находит ни одного элемента.
|
$(this).next('#theotherinfo').removeClass('otherinfo'); $(this).next('#theotherinfo').addClass('minus'); но так тоже не пашет =(( |
У элемента может быть много классов, записываются они через пробел.
|
$('.button').click(function() { $(this).next(".text").slideDown(300); }); проблема в том, что .next работает для элементов ВНЕ родительского контейнера, то-есть: <div class="cont"> <div class="text">Text here</div> </div> <div class="outelem"></div> div.text не раскроется т.к. находится внутри div.cont но если указать для раскрытия (slideDown) div.outelem, то будет работать.... вот собственно в чем моя загвоздка. У меня кнопка на открытие текстового поля находится в родительском контейнере вместе с этим текстом =( |
.children( "div.text" ); Оно? |
Цитата:
|
Часовой пояс GMT +3, время: 14:26. |