2016-09-19 58 views
0

我想在jquery中建立一个测验,以便用户一次只能看到一个问题。我已经使用PHP填充了'divs'。我可以隐藏问题列表: $(".questions).hide();如何一次显示一个隐藏类的元素?

但是,当我选择隐藏类内的任何元素的ID,它不会显示。

这里是一个虚拟的HTML:

$(document).ready(function() { 
 

 
    $(".questions").hide(); 
 
    $("#question1").show(); // this is not working. 
 

 

 
    $(".option").click(answeredQuestionBox); 
 
    $(".check-box").click(reviewQuestionBox); 
 

 
});
<div class="questions"> 
 
    <div id="question1"> 
 
    // question goes here with 'radio' input options. 
 
    </div> 
 
</div>

回答

2

你需要隐藏子questionsdiv

$(".questions > div").hide(); //$(".questions").children("div").hide() 
$("#question1").show(); 

我会建议你指定一个CSS类的问题。

<div class="questions"> 
    <div class="question" id="question1"> 
     // question goes here with 'radio' input options. 
    </div> 
</div> 

那么你可以使用

$(".questions > div.questions").not("#question1").hide(); 
+0

它的工作。我有一种感觉,隐藏父div会自动隐藏所有子元素,然后我可以选择使用他们的id来显示它们。你能否指出我正确的方向,至于为什么不是这样?非常感谢。 – Br34th7aking