在HTML标记上附加子项

时间:2017-11-23 17:48:34

标签: javascript html angularjs

我有以下代码,我试图在多个标签内添加一个已编译的HTML字符串,但这些元素没有被插入:

for (var i = 0; i < boxes.length; i++) {
    var ctxmenu = $compile('<a context-menu="menuOptions">click here</a>')($scope);
    document.getElementById("box-"+i).append(ctxmenu[0]);
}

如果我尝试在没有for loop的情况下添加它:

document.getElementById("box-"+i).append(ctxmenu[0]);

然后它会起作用。 任何想法如何做到这一点?

<小时/> 的修改

问题在于我使用的是.append()方法,而不是.appendChild()

1 个答案:

答案 0 :(得分:2)

您正在使用.appendChild(NodeElement)

  

Node.appendChild()方法将节点添加到列表的末尾   指定父节点的子节点。如果给定的孩子是参考   对于文档中的现有节点,appendChild()将其移出   当前职位到新职位(没有要求   在将节点附加到其他节点之前,将节点从其父节点中删除   节点)。

变化:

document.getElementById("box-"+i).append(ctxmenu[0]);

要:

document.getElementById("box-"+i).appendChild(ctxmenu[0]);

.append()方法属于