Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery隐藏/显示一个,而不是全部_Javascript_Jquery_Html_Show Hide_Mouseleave - Fatal编程技术网

Javascript JQuery隐藏/显示一个,而不是全部

Javascript JQuery隐藏/显示一个,而不是全部,javascript,jquery,html,show-hide,mouseleave,Javascript,Jquery,Html,Show Hide,Mouseleave,我需要帮助来找出为什么这只会隐藏和显示我隐藏类的所有元素。我试过做: $("h2 > p").removeClass("hidden"); 当我用它的时候,它根本不起作用。我也试过: $(this).find('p').removeClass("hidden"); 这也根本不起作用。因为它是用于作业的,我不能直接编辑CSS或HTML,这是对JQuery的介绍,所以实际的JavaScript和JQuery根本不应该是高级的。我只是不明白为什么我上面展示的两个例子都不起作用。我所需要的只是

我需要帮助来找出为什么这只会隐藏和显示我隐藏类的所有元素。我试过做:

$("h2 > p").removeClass("hidden");
当我用它的时候,它根本不起作用。我也试过:

$(this).find('p').removeClass("hidden");
这也根本不起作用。因为它是用于作业的,我不能直接编辑CSS或HTML,这是对JQuery的介绍,所以实际的JavaScript和JQuery根本不应该是高级的。我只是不明白为什么我上面展示的两个例子都不起作用。我所需要的只是一个答案,而不是每一个

$(document).ready(function() {
    $("h2").on('mouseover', function() {
        $("p").removeClass("hidden");
    });
    $("h2").on('mouseout', function() {
        $("p").addClass("hidden");
    });
}); // end ready
这是HTML部分,包括我试图添加和删除的类

<body>
<section>
    <h1>jQuery FAQs</h1>
    <ul id="faq_rollovers">
        <li><h2>What is jQuery?</h2>
            <p class="hidden">jQuery is a library of the JavaScript functions 
            that you're most likely to need as you develop web sites.</p>
        </li>
        <li><h2>Why is jQuery becoming so popular?</h2>
            <p class="hidden">Three reasons: It's free; It lets you get more done 
            in less time; All of its functions are cross-browser compatible.</p>
        </li>
        <li><h2>Which is harder to learn: jQuery or JavaScript?</h2>
            <p class="hidden">For most functions, jQuery is significantly easier to learn 
            and use than JavaScript. But remember that jQuery is JavaScript.</p>
        </li>
    </ul>        
</section>

jQuery常见问题解答
  • 什么是jQuery? jQuery是一个JavaScript函数库 这是您在开发网站时最可能需要的

  • 为什么jQuery变得如此流行?

    原因有三:免费;它可以让你完成更多的工作 在更短的时间内;它的所有功能都是跨浏览器兼容的

  • 哪个更难学:jQuery还是JavaScript?

    对于大多数函数来说,jQuery非常容易学习 并且使用比JavaScript更好的语言。但请记住jQuery是JavaScript


注意:由于p元素是隐藏的,您不能将鼠标悬停在它上面,所以我选择使用h2元素作为鼠标悬停选择器

尝试在其他h2中搜索p标记:

$(document).ready(function() {
    $("h2").on('mouseover', function() {
        $(this).siblings("p").removeClass("hidden");
    });
    $("h2").on('mouseout', function() {
        $(this).siblings("p").addClass("hidden");
    });
}); // end ready

您的问题是p标记不在h2标记内。您可以执行以下任一操作:

$(this).siblings("p").removeClass("hidden");
或:

$(“h2”).hover(函数(){
$(this.next().removeClass(“隐藏”);
},函数(){
$(this.next().addClass(“隐藏”);

});
hidden
添加了哪些样式?您是否尝试过
$(“li p.hidden”).show()
?您可以在jQuery中使用一个而不是两个处理程序来实现这一点,甚至可以只使用CSS而不使用任何JavaScript。如果你想知道怎么做,请告诉我。非常感谢!我总是忘记兄弟姐妹和父母(即使在CSS中)。谢谢!这对我帮助很大!我总是忘记父母、兄弟姐妹和孩子!您可以使用.hover()函数。
$(this).parent().find("p").removeClass("hidden");