Javascript 如何在右侧面板中显示子元素?

Javascript 如何在右侧面板中显示子元素?,javascript,jquery,Javascript,Jquery,您好,请告诉我如何在正确的元素中显示子元素。我的函数第一次运行良好,但第二次失败 我执行以下步骤 1) 按添加按钮2次。生成第2行以及第一级的子菜单。 2) 展开菜单选项(+)按钮。单击“菜单选项1”。它删除右面板上的行。然后按“添加”按钮创建嵌套子菜单 3) 当您再次按下“menu\u tc\u 1”时,它显示的行数与您单击“添加”按钮的行数相同 4) 但当您单击“第一级”时,它应该显示两行,因为它有两个子项(“menu_tc_1”、“menu_tc_2”)。它显示所有行。因为在数组中它给出所

您好,请告诉我如何在正确的元素中显示子元素。我的函数第一次运行良好,但第二次失败

我执行以下步骤

1) 按添加按钮2次。生成第2行以及第一级的子菜单。 2) 展开菜单选项(+)按钮。单击“菜单选项1”。它删除右面板上的行。然后按“添加”按钮创建嵌套子菜单

3) 当您再次按下“menu\u tc\u 1”时,它显示的行数与您单击“添加”按钮的行数相同

4) 但当您单击“第一级”时,它应该显示两行,因为它有两个子项(“menu_tc_1”、“menu_tc_2”)。它显示所有行。因为在数组中它给出所有值

我需要一个独生子女

$(文档)。在('click','ulli>a',函数(e){
//第一种方法。。
console.log($(this.sibbines().length);
var selEl=[];
$(this).最近的('ul')。查找('li')。每个(函数(idx,el){
变量id=el.id.replace('菜单','');
选择推送(id);
});
//警报(id);
控制台日志('aaa'+selEl);
getViewFromPanel(selEl);
});
函数getViewFromPanel(arr){
控制台日志(arr);
$('#ultest').html('');
对于(变量i=1;i');
}
}
请参见

主要问题是
$(this)。最近的('ul')。查找('li')。每个(函数(idx,el){
find
将查找所有子级别,这就是为什么is显示所有菜单的原因。您只需要下一个ul的子级:

$(this).closest('li').children('ul').children().each(function (idx, el) { 
另外,在
getViewFromPanel
中跳过第一个元素(可能是因为使用了find)——它应该从0索引开始:

for (var i=0;i<arr.length;i++){ 

用于(var i=0;我只是好奇,你在构建什么?你的JQ对于我认为你需要的东西来说似乎非常可怕。嵌套树..在左面板中,它将显示相同数量的行和相同数量的子行。如果你按两次“添加”按钮,它将显示两行。我认为你应该首先构建一个可以运行的程序,向我们显示唯一需要的代码,然后实现它动画和奇特的东西…这完全是不可理解的,你点击添加你创建的元素,如果你再次点击它们,它们就会消失,但是如果你突然在面板内点击,它们就会回来!哇:)这就是为什么我要问。从来没有见过这样的东西,我想知道最终的产品是什么?先生,我不是在做动画。我只是用孩子的概念。我是用左面板制作右面板的视图
for (var i=0;i<arr.length;i++){