Uncaught HierarchyRequestError:无法附加节点

时间:2014-08-14 15:25:24

标签: javascript jquery html

我在向特定节点添加内容时遇到问题。 这是我的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的新手。任何人都可以向我推荐一些想法。

提前致谢。

1 个答案:

答案 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>'));

小提琴:http://jsfiddle.net/25q40a87/