我认为我的问题的根源是我正在使用 ng-repeat,所以我不会过多地详细说明其余部分,但请随时要求精确度。
所以,是的,我正在使用 ng-repeat 重复存储在数组中的一定数量的 div。
当我创建一个新的 div 并将其添加到数组时...
var newDiv = document.createElement('div');
$scope.arrayDiv.push(newDiv);
...我还创建了一个按钮(好吧,实际上我使用了一个图像)并将其附加到 div。
var newButton = document.createElement('img');
newButton.style="position: absolute; top: 6px; left: 16px; z-index: 9999;";
newButton.onclick=function() {
//delete the parentNode
}
newDiv.appendChild(newButton);
这个按钮实际上是一个关闭按钮,用于删除包含它的div。到目前为止一切顺利,但这是我的问题:
关闭按钮只出现在第一个 div 上,不会出现在其他的 div 上。但是,按钮正确地一个接一个地关闭 div。所以这让我想到按钮是叠加的。
抱歉,我不确定我说清楚了。顺便说一句,这是 ng-repeat :
<div id='main_chart_div' ng-repeat="x in arrayDiv" value={{x}}></div>
最佳答案
确保您的 newDiv
具有相对位置。如果不是,newButton
的位置将相对于具有相对位置的最近父级。
关于javascript - 重复附加的按钮叠加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37414016/