HTML javascript:扩展function错误地改变了关系

在此处输入图像描述

问题在下图中解释。 单击“参数1”的扩展function后,“参数2”的级别将如中图所示改变。 但实际上它应该保持在同一水平。

任何建议都非常感谢。 提前致谢。

JAVASript

$('.P1').click(function() { $(this).find('span').text(function(_, value) { return value == '-' ? '+' : '-' }); $(this).closest('tr').nextUntil('tr:has(.P2)').slideToggle(100, function() {}); }); $('.Sub-parameter-1').click(function() { $(this).find('span').text(function(_, value) { return value == '-' ? '+' : '-' }); $(this).closest('tr').nextUntil('tr:has(.Sub-parameter-2)').slideToggle(100, function() {}); }); 

HTML

 
Summary
1 st level
-Parameter 1
L1
-Sub parameter (1)
L2 description
-Sub parameter (2)
Parameter 2

JSFiddle : https : //jsfiddle.net/gft08cmb/4/

根据答案编辑

将答案应用于超过1行的子参数时,“参数2”仍然会更改其在以下链接中看到的级别。

https://jsfiddle.net/gka7312L/或https://jsfiddle.net/p2a2wxfv/1/

rowspan attribute in L1存在问题,因为它应该从3更改为2并返回到您的情况。

这可以按你想要的方式工作: https : //jsfiddle.net/gft08cmb/6/

如果你的数据也是动态的,你当然应该让它变得动态。 所以可能是行数等,然后基于此进行操作。

如果您需要进一步的帮助,请告诉我。