Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.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-展开/折叠表行_Javascript - Fatal编程技术网

Javascript-展开/折叠表行

Javascript-展开/折叠表行,javascript,Javascript,根据下表/代码,我想添加两项。我对JavaScript了解不够,这段代码是另一个程序员留下的。该代码在其他方面都能按预期工作 以下是两项: 表格应以折叠状态开始。所有节点都应该是 崩溃到“祖父母”级别 应该有一个“全部展开”链接和一个单独的“全部折叠”链接 这是我正在使用的表: $(函数(){ $('#mytable')。打开('单击','.toggle',函数(){ var findChildren=函数(tr){ var深度=tr数据(“深度”); 返回tr.nextUntil($('tr

根据下表/代码,我想添加两项。我对JavaScript了解不够,这段代码是另一个程序员留下的。该代码在其他方面都能按预期工作

以下是两项:

  • 表格应以折叠状态开始。所有节点都应该是 崩溃到“祖父母”级别
  • 应该有一个“全部展开”链接和一个单独的“全部折叠”链接 这是我正在使用的表:

    $(函数(){
    $('#mytable')。打开('单击','.toggle',函数(){
    var findChildren=函数(tr){
    var深度=tr数据(“深度”);
    返回tr.nextUntil($('tr').filter(函数)(){
    
    return$(this.data('depth')这是您想要的结果吗?
    (我对你的代码做了一些修改,使它或多或少像我认为应该的那样工作。)

    不管怎么说,我并不完全理解已经做了什么,我只向您推荐一个JS解决方案。
    但是…我认为可以修改
    tr
    s中的类,以便在加载页面时获得“全部隐藏”结果,而无需使用任何JS。
    我在添加新内容的地方发表了评论:
    编辑:我也清理了一些代码

    $('.collapse')。在('click',function()上{
    //log($(this.attr('data-depth'));
    var findChildren=函数(tr){
    var深度=tr数据(“深度”);
    返回tr.nextUntil($('tr').filter(函数(){
    返回$(this.data('depth'))
    
    我同意你建议的“全javascript”解决方案。我只是找不到一个可以扩展到“曾孙”级别的解决方案。如果你知道一个,我洗耳恭听。我编辑了我的答案,并建议你一些更直观的解决方案,用“•”表示“关闭”节点。(这很容易更改,这是一个类)。您要求的按钮也起作用。这对您来说够了吗?您可能希望对已接受的答案进行投票,看到分数为0的已接受答案是很奇怪的!