我想将'divhtml'的html克隆为'divPlainHtml'但是下面的代码不起作用:执行后,$('#divPlainHtml')返回空对象[]
$('#divhtml').clone(false).
appendTo('<div id="divPlainHtml" style="display: none;"></div>')
答案 0 :(得分:1)
这是因为divPlainHtml尚未出现在您的网页上。
将divPlainHtml附加到您的页面。
$('whereever').append("<div id='divPlainHtml'></div>");
然后执行$("#divPlainHtml").append($("divHtml").clone(false));
答案 1 :(得分:1)
这是因为不在DOM中。
.appendTo('<div id="divPlainHtml" style="display: none;"></div>')
这会将您的新元素追加到不在DOM中的div,因此$('#divPlainHtml')
找不到它。
不使用appendTo
,而是使用append
。
$('<div id="divPlainHtml" style="display: none;"></div>')
.append($('#divhtml').clone(false));
您可以将divPlainHtml
添加到您想要的DOM中。像这样:
$('<div id="divPlainHtml" style="display: none;"></div>')
.append($('#divhtml').clone(false)).appendTo('body');
注意:您不应该有多个具有相同ID的元素,因此您应该在克隆后更改divhtml
的ID。
$('<div id="divPlainHtml" style="display: none;"></div>')
.append($('#divhtml').clone(false).attr('id', 'divhtml2'));
答案 2 :(得分:1)
原因是,要追加的DOM中不存在divPlainHtml
。试试这个。
$('<div id="divPlainHtml" style="display: none;"></div>')
.appendTo(document.body)//Or specify the container where you want to append it
.append($('#divhtml').clone(false));