我有以下html:
<div id="one"></div>
<div id="two"></div>
当我在jquery中运行以下代码时:
$(function () {
var span = $("<span>name</span>");
$("#one").append(span);
$("#two").append(span);
});
跨度仅添加到最后一个div:
<div id="one"></div>
<div id="two"><span>name</span></div>
我希望将它添加到两个div中,为什么不添加?
答案 0 :(得分:3)
每个DOM
元素都可以连接到一个特定的父元素。您不能将相同的DOM
元素附加到两个DOM父项。的 Refer SO 强>
在这种情况下,您必须clone
节点。
$(function () {
var span = $("<span>name</span>");
$("#one").append(span);
$("#two").append(span.clone());
});
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<div id="one"></div>
<div id="two"></div>
答案 1 :(得分:2)
更新您的脚本
$(function () {
var span = $("<span>name</span>");
$("#one, #two").append(span);
});
答案 2 :(得分:1)
答案 3 :(得分:1)
您需要使用clone()
var span = $("<span>name</span>");
$("#one").append(span);
$("#two").append(span.clone());
答案 4 :(得分:1)
会发生什么情况,您的元素会附加到#one
,但会立即将其附加到#two
$(function () {
var span = $("<span>name</span>");
$("#one").append(span);
setTimeout(function(){
$("#two").append(span);
},2000)
});
使用组合选择器:appendTo('#one,#two')
<强>答案强>
$(function () {
var span = $("<span>name</span>");
$(span).appendTo("#one,#two");
});
<强> Demo 强>
答案 5 :(得分:0)
嗨,你也可以试试这个
$(function () {
var span = $("<span>name</span>");
$("#one").append(span);
$("#two").append(span.html());
});