Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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_Php_Jquery_Html - Fatal编程技术网

Javascript jQuery展开列表在单击时未展开

Javascript jQuery展开列表在单击时未展开,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我被这个剧本迷住了。基本上,我有未知数量的类别(20-50),它们显示在一个侧边栏上,一个在另一个之上。我想显示10,然后当我按下一个按钮时,它会展开显示其余的。我有10个暴露与剩余金额关闭在一个部门称为cathide。所以当我按下按钮显示时,它应该展开,但它不是 PHP代码生成列表,显示10个类别,然后返回 <div class="cathide"> </div> jQuery $("#showAll").click(function () { $("cathide

我被这个剧本迷住了。基本上,我有未知数量的类别(20-50),它们显示在一个侧边栏上,一个在另一个之上。我想显示10,然后当我按下一个按钮时,它会展开显示其余的。我有10个暴露与剩余金额关闭在一个部门称为cathide。所以当我按下按钮显示时,它应该展开,但它不是

PHP代码生成列表,显示10个类别,然后返回

<div class="cathide">
</div>
jQuery

$("#showAll").click(function () {
$("cathide").slideDown(500);
$(this).hide();
});

$("#hide").click(function () {
$("cathide").slideUp(500, function () {
    $("#showAll").show();
});

});
HTML


类别
{$sidebar}//用于调用10只猫,然后调用div class=cathide,然后调用其余的猫
{$sidebar1}//用于调用/div

如上所述,您缺少window.onload侦听器,因此需要执行以下操作:

$(window).ready( function() { 

    $("#showAll").click(function () {
       $(".cathide").slideDown(500);
       $(this).hide();
    });

   $("#hide").click(function () {
       $(".cathide").slideUp(500, function () {
    $("#showAll").show();
    });

});

jquery选择器需要一个“.”来表示
。每当您遇到这样的问题时,第一步应该是控制台元素以确保它存在,即
console.log($('.someClass'))
添加了。到jquery,它仍然不起作用。你能设置一个提琴或jsbin吗?我可以试试。不过我不确定。另外,如果有帮助的话,我的链接是www.codegamer.net,它是左上角的边栏环绕您的代码。代码在DOM初始化之前运行,因此选择器没有定义。在window.onload侦听器中包装您的JavaScript应该可以。我会把答案贴在下面。
$("#showAll").click(function () {
$("cathide").slideDown(500);
$(this).hide();
});

$("#hide").click(function () {
$("cathide").slideUp(500, function () {
    $("#showAll").show();
});

});
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td class="tab">
Categories
</td>
</tr>
<tr>
<td class="trow2">

{$sidebar} // Used to call 10 cats then div class=cathide then remaining cats

{$sidebar1} // Used to call /div
<input type="button" value="Show all" id="showAll" />
<input type="button" value="Hide" id="hide" />

</td>
</tr>
</table>
$(window).ready( function() { 

    $("#showAll").click(function () {
       $(".cathide").slideDown(500);
       $(this).hide();
    });

   $("#hide").click(function () {
       $(".cathide").slideUp(500, function () {
    $("#showAll").show();
    });

});