-1

所以我试图在 Jquery 中动态创建一个元素,然后使用jquery wrap 将其包装在一个更简单的元素中。我尝试了以下方法,但没有奏效:

jQuery('<div />',{
       "class":"b",
       text:"testing"
       }).wrap('<div class="red" />');

jsfiddle

然后经过搜索,我发现了这个问题,这似乎是我正在寻找的。

不幸的是,该代码用于放置在创建的元素内,而不是包装创建的元素。我试着弄乱它,但到目前为止,在我看来,没有办法简单地包装一个Jquery创建的元素。

这是函数中的错误吗?还是我错过了什么?

4

2 回答 2

2

您将被包装的项目附加到另一个元素,这将导致它从它所在的任何地方被删除,即包装在红色 div 中。您要做的就是将红色 div 附加到元素上。wrap给你原始元素而不是包装元素。

var test = jQuery('<div />',{
       "class":"b",
       text:"testing"
       }).wrap('<div class="red" />').parent();
$('#append2').append(test);

http://jsfiddle.net/mowglisanu/ySbg7/1/

于 2013-08-05T21:50:04.003 回答
2

这个片段:

jQuery('<div />',{
       "class":"b",
       text:"testing"
       }).wrap('<div class="red" />');

返回对第一个对象的引用,即您创建的 div,而不是您包装它的那个。这是另一种可行的方法:

http://jsfiddle.net/vVxzc/

var test = jQuery('<div />',{
       "class":"b",
       text:"testing"
       }).wrap('<div class="red" />').parent();
$('#append2').append(test);
于 2013-08-05T21:49:49.697 回答