我在向特定节点添加内容时遇到问题。 这是我的Jsfidde http://jsfiddle.net/usezpkj2/7/
我有一个主列表
PROJECT1
Project2的
在Project1和project2中,<ul class=hiddendivcontent
中有一些列表项被隐藏,当点击glyhicon-chevron-down
时,将显示列表。这是代码:
$(".glyphicon ").click( function ( e ){
e.preventDefault() // prevent default action - hash doesn't appear in url
var target = $(e.target);
if(target.hasClass("glyphicon-chevron-right")){
$(e.target).toggleClass('glyphicon-chevron-right glyphicon-chevron-down');
$(this).closest("li").append($('.hiddendivcontent'));
$(this).parent().children(".hiddendivcontent").toggle();
}
else if(target.hasClass("glyphicon-chevron-down")){
$(e.target).toggleClass('glyphicon-chevron-right glyphicon-chevron-down');
$(this).parent().children(".hiddendivcontent").toggle();
}
} );
当我点击列表项 Menu1 时,它应该再次将<ul class="hiddendivcontent">..</ul>
作为子项追加到 Menu1 中。所以最后我的输出应该像
Project1
Menu1
Menu1
Menu2
Menu2
Project2
问题是,当我点击Menu1时,我得到一个例外:
Uncaught HierarchyRequestError: Failed to execute 'appendChild' on 'Node': The new child element contains the parent.
问题在于append()。但我不知道如何解决它。我是Jquery和Javascript的新手。任何人都可以向我推荐一些想法。
提前致谢。
答案 0 :(得分:0)
问题正是错误所说的。你试图追加:
<ul class="hiddendivcontent">
<li class="listvalue">Menu1</li>
<li class="listvalue">Menu2</li>
</ul>
内在。如果你想添加另一个看起来相同的html块,你会做这样的事情:
$(this).closest("li").append($('<ul class="NewList"> <li class="listvalue">Menu3</li></ul>'));