<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Demo</title>
</head>
<body>
<div class="outerContainer">
<div class="innerContainer">
<div class="test">test</div>
</div>
</div>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
for(let i=1;i<5;i++) {
$( ".test" ).clone().appendTo( ".innerContainer" );
}
});
</script>
</body>
</html>
期望的输出:
<div class="outerContainer">
<div class="innerContainer">
<div class="test">test</div>
<div class="test">test</div>
<div class="test">test</div>
<div class="test">test</div>
<div class="test">test</div>
</div>
</div>
相反,我得到了更多的元素,将近 20 个。我是 jQuery 和学习的新手。我查看了 jQuery.each() 但似乎该方法适用于数组+对象。
另外,我正在使用 jQuery,因为我需要将 eventListeners 附加到所有克隆的元素,并且事件委托是不可能的,因为这些元素不在 parentContainer 中。
我目前也在测试是否可以使用带有 cloneNode() 的常规 for 循环来附加我的元素,然后可能使用 jQuery.each() 来附加 eventListeners?