У меня есть следующий код, который должен изменить значение h2 с «Показать больше» на «Показать меньше», а затем снова назад при щелчке родителя.jquery toggle текст меняется только один раз
Проверка if() выполняется нормально и изменяет текст на Показать меньше, но он никогда не изменит его обратно и всегда отображает предупреждение «Показать больше», поэтому он просто не обнаруживает условие else().
Я искал высоко и низко, чтобы узнать, почему, но еще не нашел решение.
Я знаю, что это вопрос с нобом, поэтому приношу свои извинения за это, но я попытался найти решение перед публикацией здесь.
Спасибо.
$('#panels > .feature').click(function() {
if($(this).children('h2').val('Show More')) {
$(this).children('h2').text('Show Less');
alert('Show More was found');
}
else {
$(this).children('h2').text('Show More');
alert('Show Less was found');
}
$(this).next(".info_box").animate(
{'height':'toggle'}, 'slow', 'linear'
);
});
HTML, о котором идет речь:
<div id="panels">
<div id="Email" class="feature">
<h1>LiveContent</h1><h2>Show More</h2>
</div>
<div class="info_box">Information will go in this div which should slide in and out.</div>
<div id="Email" class="feature">
<h1>Publishing Solutions</h1><h2>Show More</h2>
</div>
<div class="info_box">Information will go in this div which should slide in and out.</div>
<div id="Email" class="feature">
<h1>Title 1</h1><h2>Show More</h2>
</div>
<div class="info_box">Information will go in this div which should slide in and out.</div>
</div>
+1 для хорошо отформатированного вопроса. – Matt 2010-11-29 13:12:30