Я бил головой о стол за последние два дня. Я создаю приложение, которое отображает информацию из db, заголовка / ссылки, миниатюры и времени, сохраненных в неупорядоченном списке, например: http://blog.madebycraig.com/images/full.jpg
То, что я пытаюсь сделать, состоит в том, чтобы на элементе была кнопка «Свернуть», переключая миниатюру и время сохранения и выключения: http://blog.madebycraig.com/images/minimized.jpg
Я могу это сделать, но это все или ничего. Я нажимаю кнопку «Свернуть», и все идет. Как я могу скрыть его, чтобы просто переключать элементы с определенным именем класса, которые являются дочерними элементами div, в которые включена кнопка минимизации? Я пробовал .parent (), .child (), .next (), .prev (). Я все бросил, что знаю. Теперь я обращаюсь к вам, добрые господа (или мадам). Что я делаю не так? Вот я, я пытаюсь запустить его.
echo' <li class="bookmarkContainer"> <a href="'.$row['url'].'" class="toggle"><img class="thumb" src="images/placeholder.png" /></a> <div class="title"><a href="'.$row['url'].'" class="bookmrk" target="_blank">'.$row['title'].'</a></div> <div class="dt toggle">'.relativeTime($row['dt']).'</div><br /> <a class="collapse" href="#">hide</a> <a class="delete" href="?delete='.$row['id'].'" id="'.$row['id'].'">Delete Bookmark</a> </li>';
Вы можете сделать это, используя .closest()
и .find()
следующим образом:
$(".collapse").click(function() { $(this).closest('.bookmarkContainer').find('.toggle').toggle(); });
Если у вас их много, или они меняются с помощью ajax (похоже, что это результат поиска), используйте .live()
или .delegate()
следующим образом:
$(".collapse").live('click', function() { $(this).closest('.bookmarkContainer').find('.toggle').toggle(); }); //or... $("#ulID").delegate('.collapse', 'click', function() { $(this).closest('.bookmarkContainer').find('.toggle').toggle(); });