Jquery 克隆div并使其显示在屏幕上不是';行不通
下面是我的代码(不要担心“关闭”,它是基于用户单击位置的偏移量)。在第二行中,我试图克隆一个现有的div,然后显示克隆的副本?但它不起作用。但是,如果我删除clone(),那么代码确实可以工作,但当然它只是显示了现有的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.
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的任何位置。