如何使用jQuery创建嵌套的DIV?

Pat*_*cow 3 jquery nested creation

我有这个jquery脚本:

$('#add').click(function(){
    $('<div class="drag" style="left:20px;"/>')
        .text( num++ )
        .appendTo( document.body )
        .css({ 
            top: $( window ).height() - 500 , 
            left:$( window ).width() - 500
        });
});
Run Code Online (Sandbox Code Playgroud)

这将创建: <div class="drag" style="left:20px;"/></div>

我有兴趣创建的是:

<div class="drag" style="left:20px;"/>
    <div class="handle SE">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

如果我这样做:

...
$('<div class="drag" style="left:20px;"/><div class="handle SE">')
.text( num++ )
...
Run Code Online (Sandbox Code Playgroud)

jquery将创建2个单独的di'vs而不是嵌套.

有任何想法吗?

谢谢

Aln*_*tak 8

用途.wrap():

$('<div class="handle SE">')
  .text(num++)
  .appendTo(document.body)
  .wrap('<div class="drag" style="left:20px;"/>);
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/alnitak/r4Dz6/上的工作示例

在这个特定的例子中,.appendTo(document.body) 完成换行之前调用是必要的,因为.wrap()返回原始元素.调用.appendTolast会导致新包装的父元素从层次结构中删除.