Помогите разобраться с .next()
Здравствуйте!
Помогите разобраться в такой проблеме, есть верстка:
<div class="partnersBox">
<img src="/images/partner/bb_expo.png" />
<a href="javascript:;" class="aboutPart"><span>Барбекю Экспо</span></a>
<a href="javascript:;">Благодарность</a>
<div class="aboutPartText">
текст
</div>
</div>
и к нему условие:
$(".aboutPart").click(function () {
$(this).next(".aboutPartText").slideToggle("slow");
И оно не работает потому что за ссылкой с классом "aboutPart" идет еще одна ссылка без класса. Если убрать ссылку без класса то все начинает работать. Но вторая ссылка нужна и я решил этот вопрос таким способом:
$(".aboutPart").click(function () {
$(this).next().next().slideToggle("slow");
Тоесть выбираю второй элемент. Я знаю что это не првильное решение проблеммы! Обьясните пожалуйста в чем моя ошибка почему по клику на ссылку не происходит действия с элементом класс у которого "aboutPartText"? |
next выбирает именно следующий элемент
http://api.jquery.com/next/ Вы правильно сделали cmd показал как можно с помощью nextAll сделать |
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div class="partnersBox">
<a href="javascript:;" class="aboutPart"><span>Барбекю Экспо</span></a>
<a href="javascript:;">Благодарность</a>
<div class="aboutPartText">
текст
</div>
</div>
<script>
$(".aboutPart").click(function () {
$(this).nextAll(".aboutPartText").css("background", "yellow");
});
</script>
</body>
</html>
|
я не могу понять почему .next() игнорирует селектор .aboutPartText?
|
Цитата:
Description: Get the immediately following sibling of each element in the set of matched elements. If a selector is provided, it retrieves the next sibling only if it matches that selector. |
Спасобо большое! Тепрь все понятно :)
|
skreets, Обычно так универсальней, работает и при вложенности
$(this).parent(".partnersBox").find(".aboutPartText:first").slideToggle("slow")
|
| Часовой пояс GMT +3, время: 18:58. |