Javascript 克隆()元素的唯一名称

Javascript 克隆()元素的唯一名称,javascript,jquery,clone,Javascript,Jquery,Clone,如何为克隆的元素指定唯一名称或其他属性 提前谢谢。一种黑客方法是使用全局计数器,并在将值添加到克隆元素的名称之前将其不断递增1 $('.some_element').clone().attr('id','some_unique_id'); 前 使用Math.random: $('.some_element').each(function() { var id = (Math.floor(Math.random()*10000000000000000)); $(this).clo

如何为克隆的元素指定唯一名称或其他属性


提前谢谢。

一种黑客方法是使用全局计数器,并在将值添加到克隆元素的名称之前将其不断递增1

$('.some_element').clone().attr('id','some_unique_id');

使用Math.random:

$('.some_element').each(function() {
    var id = (Math.floor(Math.random()*10000000000000000));
    $(this).clone().attr('id', id);
});
或者,如果您想在原始元素上添加一个“句柄”,可以使用以下格式创建一个新id:

ORIGINAL_ELEMENT_ID + SEPARATOR + RANDOM_NUMBER
例如:

$('.some_element').each(function() {
    var id = [
        this.id, 
        (Math.floor(Math.random()*10000000000000000))
    ].join('-');
    $(this).clone().attr('id', id);
});

你能解释得更清楚一点吗?@KennethB:所以,下次你克隆它时,给它一个不同的ID。@KennethB请正确回答你的问题。您可能想说“在多次克隆一个元素时,如何给每个元素一个唯一的id?”您也可以将时间戳用作伪随机数:setAttribute('id','item_'+new Date().getTime());
$('.some_element').each(function() {
    var id = [
        this.id, 
        (Math.floor(Math.random()*10000000000000000))
    ].join('-');
    $(this).clone().attr('id', id);
});