所以我试图在Jquery中动态创建一个元素,然后使用jquery wrap将它包装在一个更简单的元素中。我尝试了以下操作,但它不起作用:
jQuery('<div />',{
"class":"b",
text:"testing"
}).wrap('<div class="red" />');
然后在搜索之后,我突然看到this question,这似乎是我正在寻找的。 p>
不幸的是,代码用于放置在创建的元素内,而不是包装创建的元素。我尝试搞乱它,但到目前为止,在我看来,没有办法简单地包装一个Jquery
创建的元素。
这是函数中的错误吗?或者我错过了什么?
答案 0 :(得分:2)
此片段:
jQuery('<div />',{
"class":"b",
text:"testing"
}).wrap('<div class="red" />');
返回对第一个对象的引用,即您创建的div,而不是您包装它的那个。这是一个有效的替代方法:
var test = jQuery('<div />',{
"class":"b",
text:"testing"
}).wrap('<div class="red" />').parent();
$('#append2').append(test);
答案 1 :(得分:2)
您将附加到另一个元素的项目附加,这将导致它从任何地方被删除,即包裹在红色div中。你需要做的是将红色div附加到元素上。 wrap
会返回原始元素而不是包装元素。
var test = jQuery('<div />',{
"class":"b",
text:"testing"
}).wrap('<div class="red" />').parent();
$('#append2').append(test);