jQuery hide()隐藏它不应该隐藏的内容';T

jQuery hide()隐藏它不应该隐藏的内容';T,jquery,html,hide,Jquery,Html,Hide,我有个问题。。。jQuery应该只在每个h2下隐藏div,但它也会隐藏那些h2。。。我该怎么办 <!DOCTYPE> <html> <head> <title>Yolo</title> <script src="js/jquery-1.11.2.min.js"></script> </head> <body> <main> <div

我有个问题。。。jQuery应该只在每个h2下隐藏div,但它也会隐藏那些h2。。。我该怎么办

<!DOCTYPE>
<html>
<head>
    <title>Yolo</title>
    <script src="js/jquery-1.11.2.min.js"></script>
</head>
<body>
    <main>
        <div class="faq">
            <h2>Opcja 1</h2>
            <div class="answer">
                <p>Paragraph under option 1!</p>
            </div>
            <h2>Opcja 2</h2>
            <div class="answer">
                <p>Paragraph under option 2!</p>
            </div>
            <h2>Opcja 3</h2>
            <div class="answer">
                <p>Paragraph under option 3!</p>
            </div>
        </div>
    </main>

    <script src="js/jquery-1.11.2.min.js"></script>
    <script src="js/szkrypt.js"></script>
</body>
</html>

您尝试使用的切换功能已被弃用并删除

jQuery中唯一剩下的
toggle()
函数是切换可见性的函数,这就是它隐藏所有内容的原因

$('.faq h2').toggle();
。。。隐藏每个可见的
h2
元素,并显示每个隐藏的
h2
元素

您必须创建自己的切换

$('.answer').hide();
$('.faq h2').on('click', function() {
    var flag = $(this).data('flag');

    if ( !flag ) {
       $(this).next('.answer').slideDown();
    } else {
      $(this).next('.answer').fadeOut();
    }

    $(this).data('flag', !flag);
}); 

另外,删除头部加载jQuery的脚本标记,一次就足够了

您在那里加载了两次jquery,并且隐藏了所有答案。给某人一个ID或use.eq()
$('.answer').hide();
$('.faq h2').on('click', function() {
    var flag = $(this).data('flag');

    if ( !flag ) {
       $(this).next('.answer').slideDown();
    } else {
      $(this).next('.answer').fadeOut();
    }

    $(this).data('flag', !flag);
});