0

现在这个函数隐藏了所有显示的答案。我需要它来仅隐藏属于第二次单击的特定问题的答案。我对 JQuery 很陌生,所以可能有一个简单的解决方案,但任何帮助都会很棒。

$(document).ready(function() {
        $(".question").click(function () {
            $('.answer').hide(); // hides open answers before showing a new answer 
        if ($(this).next().is(":hidden")) { // check the visibility of the next element in the DOM
            $(this).next().show(); // show it
        } else {
            $(this).next().hide(); // hide it
        }
    });
});
4

1 回答 1

2

由于没有 HTML 可供使用,我在这里模拟了一个示例:

HTML

<span class="question">What is your name?</span>
<span class="answer">Chase</span>
<br/>
<label class="question">How old are you?</label>
<span class="answer">25</span>
<br/>
<label class="question">What is your favorite color?</label>
<span class="answer">Blue</span>
<br/>
<label class="question">Do you like cheese?</label>
<span class="answer">Duh</span>

JavaScript / jQuery

$(document).ready(function() {
   $(".question").click(function () {
     $(this).next("span.answer").fadeToggle();
   });
});

我正在使用该next方法来获取ed的以下.answer内容。clickquestion

于 2013-04-12T20:13:16.023 回答