我有以下HTML结构:
<div id="container">
<div class='label-item-text drag' data-type='text'>
<div>Right click on me and check the HTML of the duplicated</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
而我正在尝试复制里面的项目#container.不幸的是,我没有按预期工作.
A)我的代码复制了里面的所有项目,实际上我只选了一个
B)我不能正确复制
复制所有项目的代码如下.
$('#container').append($dragRightClick.parent().html());
Run Code Online (Sandbox Code Playgroud)
好了,parent()的$dragRightClick是#container,让我明白为什么它复制的所有项目的原因...
我想复制的只是里面的div #container,这意味着:
<div class='label-item-text drag' data-type='text'>
<div>Right click on me and check the HTML of the duplicated</div>
</div>
Run Code Online (Sandbox Code Playgroud)
但到目前为止我所得到的只是:
<div>Right click on me and check the HTML of the duplicated</div>
Run Code Online (Sandbox Code Playgroud)
以下代码输出上面的代码:
console.log("Clone: " + $dragRightClick.clone().html());
console.log("HTML: " + $dragRightClick.html());
Run Code Online (Sandbox Code Playgroud)
您可以在JSFiddle中查看完整的问题.
为此目的使用outerHTML :
代替:
$('#container').append($dragRightClick.parent().html());
Run Code Online (Sandbox Code Playgroud)
和:
$('#container').append($dragRightClick[0].outerHTML);
Run Code Online (Sandbox Code Playgroud)
您还可以使用这个为以下内容编写的 jquery 插件outerHTML:
http://css-tricks.com/snippets/jquery/outerhtml-jquery-plugin/