2

我正在用 javascript 制作一个简单的游戏,我想要.append()一个盒子。充当子弹。但我被困住了。这就是我所拥有的

var existingdiv1 = document.getElementById('bullet');

$("#test").click(function() {
    $("div").append([existingdiv1]); 
});

当我按下按钮“#test”时,它不会创建额外的“div”。

4

4 回答 4

1

您将不得不选择现有的 div (我猜这是子弹?)。然后附加它。

这是和示例: 工作演示

Javascript:

$("#test").click(function(){
    $("#appendToThis").append($('#bullet').html()); 
});

html:

<input id="test" type="button" value="click" />
<div id="appendToThis"></div>

<div id="bullet"><div>BANG</div></div>

每次单击时,您都会看到“砰”字被附加。您可以使用测试 div 上的 empty() 方法将其删除。

于 2013-03-23T11:09:18.163 回答
0

您可以使用.clone()

$("#test").click(function(){
    $("#appendToThis").append($('#bullet').clone()); 
});
于 2013-03-23T11:29:23.023 回答
0

我相信你想在现有的 div 中添加一个新的 div,所以你的代码已经颠倒了追加顺序。$('#bullet') 你需要通过尝试这个来包装现有的 div

$('#bullet').append('<div></div>');
于 2013-03-23T11:06:14.603 回答
0

.append文档中:

如果以这种方式选择的元素被插入到 DOM 中其他位置的单个位置,它将被移动到目标中(而不是克隆)。

您似乎想先克隆[docs]元素:

$("div").append($(existingdiv1).clone());
// or simpler
$("div").append($('#bullet').clone());

请注意,如果您div的页面上有多个元素,$("div")将选择所有元素,并且您传递给的元素.append将自动克隆(如文档中所述)。
您应该只将元素附加到单个 div。

于 2013-03-23T11:08:41.453 回答