Javascript 在for循环-jquery中追加项

Javascript 在for循环-jquery中追加项,javascript,jquery,html,Javascript,Jquery,Html,我通过Javascript添加了一个简单的切换按钮。然后我想在它里面添加三个span标记 所以,我正在创建span变量,并试图将其附加到我们自己的基本FOR循环中。迭代次数为3次 下面是我的基本代码。请让我知道我的span标签多次拒绝附加的缺失或错误之处。我在检查模式下检查了这个 然后,我打开控制台选项卡,I的值是3。Append的意思是追加,而不是替换元素。对吧? var $navbar_header = $('<div class="navbar-header"></div

我通过Javascript添加了一个简单的切换按钮。然后我想在它里面添加三个span标记

所以,我正在创建span变量,并试图将其附加到我们自己的基本FOR循环中。迭代次数为3次

下面是我的基本代码。请让我知道我的span标签多次拒绝附加的缺失或错误之处。我在检查模式下检查了这个

然后,我打开控制台选项卡,I的值是3。Append的意思是追加,而不是替换元素。对吧?

var $navbar_header = $('<div class="navbar-header"></div>');

var $button = $("<button></button>");
var $span = $('<span class="icon-bar"></span>');

for (var i = 0; i < 3; i++) {
   $button.append($span);
 }

$button.addClass('navbar-toggle');
$navbar_header.append($button);
$("#menu").append($navbar_header);
var$navbar_头=$('');
var$按钮=$(“”);
变量$span=$('');
对于(变量i=0;i<3;i++){
$button.append($span);
}
$button.addClass('navbar-toggle');
$navbar_header.append($button);
$(“#菜单”).append($navbar#u标题);

下面是一个需要处理的问题。

DOM是一个树,其中任何元素都指向其父元素(请参阅)。一个元素只能有一个位置。因此,当您附加一个元素时,您将其从其先前位置移除

这里的解决方案是克隆元素:

$button.append($span.clone());
或者只是在循环中创建它:

for (var i = 0; i < 3; i++) {
    $button.append('<span class="icon-bar"></span>');
}
for(变量i=0;i<3;i++){
$button.append(“”);
}