我知道有很多类似的问题,我已经浏览过它们。这还不够。所以。
我有这种情况,我需要复制一个元素并知道我从中克隆的原始元素,所以我这样做很丑:
<div id="main">
<p>Hello</p>
</div>
然后
$(somewhere).append(
$('#main')
.clone()
.attr('src', 'main')
));
现在这非常难看,因为我从我正在克隆的原始元素中附加了 ID。在我的情况下,我不知道元素是否有 ID,所以我可以生成一个随机的并像这样分配:
var id = $(element).attr('id');
if (!id) {
var id = 'id_'+ Math.round(Math.random()*99999999);
$(element).attr('id', id);
}
$(somewhere).append(
$(element)
.clone()
.attr('src', id)
));
我的解决方案对我来说似乎很脏,当然我有可能发生冲突,所以......我想知道从另一个元素引用 DOM 元素的任何干净方法。
更新
所以总而言之,我使用了 jQuery .uniqueId().
,并通过.attr()
like简单地附加了元素 ID$(el).attr('src', $(parent).attr('id') );