Помогите составить селектор jquery
Имею структуру
<div class="post">
<div class="but">Открыть 1</div>
<div class="textPost">
Какой то текст
<div class="butClose">Закрыть</div>
</div>
<div class="but">Открыть 2</div>
<div class="textPost">
Какой то текст
<div class="butClose">Закрыть</div>
</div>
<div class="but">Открыть 3</div>
<div class="textPost">
Какой то текст
<div class="butClose">Закрыть</div>
</div>
<div class="butClose butAll">Закрыть все</div>
</div>
<div calss="post">
...
</div>
<div calss="post">
...
</div>
<div calss="post">
...
</div>
ВОПРОС: Как свернуть все textPost при нажатии кнопки "Закрыть все", и что бы все but стали видны (ну или те которые не видны - не суть). Вопрос в том как обратиться ко всем textPost и but. Хочу обратить внимание. Кнопка "Закрыть все" имеет класс butClose который имеет кнопки "Закрыть" закрывающие отдельные блоки. Блоков post может быть сколь угодно много, нужно работать с конкретным, в котором butAll |
что бы все but стали видны
$(".but").show(); свернуть все textPost $(".textPos").hide(); //ну или slideUp.... это уж ваше желание |
Ой я забыл сказать, на одно страницы post может быть много. А нужно свернуть тот в котором находиться butAll.
У меня именно в этом проблема, то есть нужно найти родителя, и выбрать внутри родителя все textPost. Поправил первое сообщение. |
Цитата:
$('.butAll').click(function (){
$(this).parents('.post').find('.textPost').hide();
});
|
Цитата:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
.post {
border: 1px solid;
}
</style>
<script type="text/javascript">
$(document).ready(function (){
$('.butAll').click(function (){
$(this).parents('.post').find('.textPost').hide();
});
});
</script>
</head>
<body>
<div class="post">
<div class="but">Открыть 1</div>
<div class="textPost">
Какой то текст
<div class="butClose">Закрыть</div>
</div>
<div class="but">Открыть 2</div>
<div class="textPost">
Какой то текст
<div class="butClose">Закрыть</div>
</div>
<div class="but">Открыть 3</div>
<div class="textPost">
Какой то текст
<div class="butClose">Закрыть</div>
</div>
<div class="butClose butAll">Закрыть все</div>
</div>
<div class="post">
<div class="but">Открыть 1</div>
<div class="textPost">
Какой то текст
<div class="butClose">Закрыть</div>
</div>
<div class="but">Открыть 2</div>
<div class="textPost">
Какой то текст
<div class="butClose">Закрыть</div>
</div>
<div class="but">Открыть 3</div>
<div class="textPost">
Какой то текст
<div class="butClose">Закрыть</div>
</div>
<div class="butClose butAll">Закрыть все</div>
</div>
</body>
</html>
P.S. Не ленитесь делать тестовые примеры. Ибо другим это приходится делать за вас... :nono: |
Спасибо. Именно такой вариант по логике мне и пришел в голову. Но мне кажется я пробовал такой вариант. И у меня не работал(пол ночи разные варианты перебирал). Но вижу, что работает. Может у меня, что то в проекте ещё мешает. Посмотрю.
Это мое 7 сообщение на форуме, не знал, что тут можно делать тестовые примеры. Теперь обязательно буду. С ними и самому удобнее. |
есть еще такая хорошая вещь как closest()
она ищет ближайший указанный родительский элемент например: .closest("li") - найдет ближайший родительский элемент списка |
| Часовой пояс GMT +3, время: 04:28. |