Jquery 克隆div并使其显示在屏幕上不是';行不通

Jquery 克隆div并使其显示在屏幕上不是';行不通,jquery,Jquery,下面是我的代码(不要担心“关闭”,它是基于用户单击位置的偏移量)。在第二行中,我试图克隆一个现有的div,然后显示克隆的副本?但它不起作用。但是,如果我删除clone(),那么代码确实可以工作,但当然它只是显示了现有的div,这不是我需要的 var off = $(this).offset(); var div = $('#testtt').clone(); div.css({ position: "absolute", top: off.top, left: off.left }); div.

下面是我的代码(不要担心“关闭”,它是基于用户单击位置的偏移量)。在第二行中,我试图克隆一个现有的div,然后显示克隆的副本?但它不起作用。但是,如果我删除clone(),那么代码确实可以工作,但当然它只是显示了现有的div,这不是我需要的

var off = $(this).offset();
var div = $('#testtt').clone();
div.css({ position: "absolute", top: off.top, left: off.left });
div.show();

有什么提示吗?

您正在克隆div,但没有将其插入DOM中的任何位置

所以在你这么做之前它是不存在的

var off = $(this).offset();
var div = $('#testtt').clone();
div.css({ position: "absolute", top: off.top, left: off.left });

$('body').append(div);   <-- Appending to body here.. You can append anywhere you want
var off=$(this.offset();
var div=$('#testtt').clone();
css({位置:“绝对”,顶部:off.top,左侧:off.left});

$('body')。追加(div) 您正在克隆div,但没有将其插入DOM中的任何位置

所以在你这么做之前它是不存在的

var off = $(this).offset();
var div = $('#testtt').clone();
div.css({ position: "absolute", top: off.top, left: off.left });

$('body').append(div);   <-- Appending to body here.. You can append anywhere you want
var off=$(this.offset();
var div=$('#testtt').clone();
css({位置:“绝对”,顶部:off.top,左侧:off.left});

$('body')。追加(div) 您需要使用
append()
appendTo()
将其附加到另一个元素。您需要使用
append()
appendTo()
将其附加到另一个元素,这可能是id重复的问题

从:

注意:使用.clone()会产生使用 重复的id属性,应该是唯一的。哪里 在可能的情况下,建议避免使用此选项克隆元素 属性或使用类属性作为标识符

克隆后,请尝试更改克隆元素的id:

div.attr('id').val('#testtt')

可能是id重复的问题

从:

注意:使用.clone()会产生使用 重复的id属性,应该是唯一的。哪里 在可能的情况下,建议避免使用此选项克隆元素 属性或使用类属性作为标识符

克隆后,请尝试更改克隆元素的id:

div.attr('id').val('#testtt')

根据@AndrewHitaker的评论,您需要将新元素添加到DOM中。e、 g

div.attr('id').val( div.attr('id')+"_cloned" );
$("#my_container_element_id").append(div);
您还可以删除

div.show();

根据@AndrewHitaker的评论,您需要将新元素添加到DOM中。e、 g

div.attr('id').val( div.attr('id')+"_cloned" );
$("#my_container_element_id").append(div);
您还可以删除

div.show();

您需要将div附加到页面中。目前,您刚刚创建了对克隆的引用,但没有显示它


$(“正文”)。追加(div)

您需要将div附加到页面中。目前,您刚刚创建了对克隆的引用,但没有显示它


$(“正文”)。追加(div)

您必须将克隆的div附加到html中的某个位置。 例如:

var off = $(this).offset();
var div = $('#testtt').clone();
div.css({ position: "absolute", top: off.top, left: off.left });

// append to parent of "this"
var parent = $(this).parent();
div.appendTo(parent);

// should be unnecessary, except if the style is display:none
//div.show();

您必须将克隆的div附加到html中的某个位置。 例如:

var off = $(this).offset();
var div = $('#testtt').clone();
div.css({ position: "absolute", top: off.top, left: off.left });

// append to parent of "this"
var parent = $(this).parent();
div.appendTo(parent);

// should be unnecessary, except if the style is display:none
//div.show();
在Jquery中

$('.addRow').click(function(){
var off = $(this).offset();
var div = $('#testtt').clone();
div.css({ position: "absolute", top: off.top, left: off.left });
div.show();
div.appendTo($("#testtt");
})

在Jquery中

$('.addRow').click(function(){
var off = $(this).offset();
var div = $('#testtt').clone();
div.css({ position: "absolute", top: off.top, left: off.left });
div.show();
div.appendTo($("#testtt");

})

为什么不使用$(this.clone()?这不是我要克隆的元素,而是我正在单击的元素。可能是因为您没有在任何地方将克隆的元素附加到DOM。为什么不使用$(this).clone()?这不是我要克隆的元素,而是我正在单击的元素。可能是因为您没有将克隆的元素附加到DOM的任何位置。