jquery - 根据单选按钮单击显示和隐藏 div

标签 jquery show-hide

我的 html 和 jquery 代码在这里。这是一个非常简单的测试,但仍然无法工作..

这是 html:

  <p>Select a question to see the answer.</p>
  <div id="questionArea" class="questionArea" >
    Question 1 <input type="radio" id="question1" class="question" name="radioGroup1" />
    Question 2 <input type="radio" id="question2" class="question" name="radioGroup1" />
    Question 3 <input type="radio" id="question3" class="question" name="radioGroup1" />
  </div>

  <div id="answerArea" class="answerArea">
    <div id="answer1" class="answer">First Answer</div>
    <div id="answer2" class="answer">Second Answer</div>
    <div id="answer3" class="answer">Third Answer</div>
  </div>

这是 jquery:

 $(document).ready(function() {
  $(".answerArea").hide();
  $("input[$name='radioGroup1']").click(function() {
            var answer = $(this).val();
            $(".answerArea").hide();
            $("#" + answer).show();
        });
    });
});

这是另一种显示/隐藏的方法,虽然这不是一个好方法,但我只是想知道为什么它不起作用..

     $(document).ready(function () {

            $("div.answerArea").hide();

                $('#question1').click(function () {
                    $('#answer2').hide('fast');
                    $('#answer3').hide('fast');
                    $('#answer1').show('fast');

                });

                $('#question2').click(function () {

                      $('#answer1').hide('fast');
                      $('#answer3').hide('fast');
                      $('#answer2').show('fast');

                 });

                   $('#question3').click(function () {

                      $('#answer1').hide('fast');
                      $('#answer2').hide('fast');
                      $('#answer3').show('fast');

                 });


    }); 

最佳答案

$(".answerArea").hide(); 隐藏包含答案的父元素。如果父级被隐藏,则无法显示子级。

我会使用 children 的索引来做到这一点:

$(document).ready(function() {
    $(".answer").hide();

    $(".question").click(function() {
        $(".answer").hide().eq($(this).index()).show();
    });
});

这将隐藏所有答案元素,然后显示与问题相对应的元素。

关于jquery - 根据单选按钮单击显示和隐藏 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15057075/

相关文章:

javascript - 无法在 javascript 数组中提醒响应

javascript - 使 Facebook 页面插件响应(到处搜索,找不到解决方案)

android - 如何响应滚动隐藏/显示布局

html - 在 Star Rater 无序列表旁边使用 CSS 在悬停时显示消息

javascript - 当函数取消隐藏 2 个元素时如何在 javascript 中显示/隐藏?

javascript - 单击另一个 div 时 fadeIn/fadeOut 指定的 div?

javascript - Image Grid Div 不会显示在点击上

javascript - 单击我需要在该特定行的下一列中添加图像的复选框

c++ - 如何查找窗口的 SW_SHOW/SW_HIDE 状态

javascript - AngularJs+ionic 将html数据发送到Controller/popupbox