通过“ jQuery方法”创建元素后如何在div中包装元素?

时间:2018-10-14 13:05:01

标签: jquery

所需的输出

<div class="dropdown_container"> 
<div class="dropdown" style="top: 50px; left: 50px;">test</div>
</div>

当前输出

<div class="dropdown" style="top: 50px; left: 50px;">test</div>

我尝试过的事情

var $dropdown = $(`
<div class="dropdown">
test
</div>
`);

$dropdown.offset({
  top: '50',
  left: '50'
});

$dropdown.wrap("<div class=\"dropdown_container\"></div>");

$("body").append($dropdown);
.dropdown {
  position: absolute;
}

.dropdown_container {
  position: relative;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

3 个答案:

答案 0 :(得分:0)

对不起,也许我听不懂,但为什么不直接做

"{0:,.0f}".format

??

答案 1 :(得分:0)

对于我来说,目前尚不清楚为什么您最初不仅仅包含外部div的标记,但是wrap不起作用的原因是它希望对已经存在于外部元素中的元素进行操作DOM。

您可以只创建div并将其他dvi附加到其中:

$("body").append($("<div>").append($dropdown));

答案 2 :(得分:0)

您可以在下面尝试代码。一切都只需要一行:

$(function(){
    $('<div class="dropdown" style="top: 50px; left: 50px;">test</div>')/*your $dropdown*/.appendTo($('<div class="dropdown_container"></div>').appendTo($("body")));
});

尝试online


但是如果您喜欢自己的解决方案(.wrap(..) method),下面的代码将很有用(尽管我建议您采用第一种方式,因为在创建元素后,它们会向body添加元素而且也更轻):

 $(function(){
    $('<div class="dropdown" style="top: 50px; left: 50px;">test</div>')/*your $dropdown*/.appendTo($("body")).wrap($('<div class="dropdown_container"></div>'));
 });

还有its fiddle