我有这个Q& A部分。
我想要做的是显示点击的一个并隐藏所有其他人。之后,如果我再次单击所单击的那个,它将像其他人一样隐藏。
我已经隐藏了除第二次点击部分以外的所有部分。
<h4 class=" question"><span class="glyphicon glyphicon-minus faq_icon"></span><strong>How r u?</strong></h4>
<p class="answer">Fine</p>
<h4 class=" question"><span class="glyphicon glyphicon-minus faq_icon" id=""></span><strong>What r u doing?</strong></h4>
<p class=" answer">nothing.</p>
$(document).ready(function() {
$(".question").click(function() {
$('.answer').not(this).hide();
$(this).next(".answer").toggle();
});
});
现在我需要在第二次点击时隐藏THIS
。怎么做?
答案 0 :(得分:1)
Check it
$(".question").click(function() {
$('.answer').hide();
if(!$(this).next(".answer").is(':visible')) {
$(this).next(".answer").show();
}
});
答案 1 :(得分:0)
您需要将当前answer
元素传递给not()
。
this
是question
元素,因此$('.answer').not(this).hide();
将隐藏所有answer
元素,然后为当前答案元素调用toggle
将总是显示它而不是切换它
$(document).ready(function() {
$(".question").click(function() {
var $ans = $(this).next(".answer").toggle();
$('.answer').not($ans).hide();
});
});
.answer {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h4 class=" question"><span class="glyphicon glyphicon-minus faq_icon"></span><strong>How r u?</strong></h4>
<p class="answer">Fine</p>
<h4 class=" question"><span class="glyphicon glyphicon-minus faq_icon" id=""></span><strong>What r u doing?</strong></h4>
<p class=" answer">nothing.</p>
答案 2 :(得分:0)
试试这个:
$(".question").click(function() {
if( $(this).is(':visible') ){
$('.answer').not(this).hide();
}else {
$('.answer').hide();
}
$(this).next(".answer").toggle();
});