当前位置:  开发笔记 > 编程语言 > 正文

jQuery wrap new元素不起作用

如何解决《jQuerywrapnew元素不起作用》经验,为你挑选了1个好方法。

我的$ new div没有包含以下代码:

var $new = $('
test
'); $('form').append($new.wrap("
")) ;

这有什么问题?



1> Bhojendra Ra..:

更新:我们认为错误$new.wrap()将无法工作,因为$ new中html不在HTML DOM树中,但它只是一个包含html元素的变量.根据与@A的讨论,这是错误的.沃尔夫.

但是,以下解决方案也不错.

var $new = $('
test
'); $('form').append($new)//first append .find('.test')//find appended element .wrap('
');//then wrap to appended element

或者,如果你不想在附加元素上给出一个类,你可以这样做:

$new.appendTo('form')//I am still on $new (no need to find anything)
 .wrap('
');//So, I can wrap to $new

现在,要坚持使用您的代码,您需要将父元素作为@A返回.沃尔夫提到:

$('form').append($new.wrap("
").parent());

我会解释一下这个why actually I need to return the parent element?:

$new.wrap('
');//I am still in $new not in the .new element .append($new.wrap('
');//append the $new not the .new object

因此,wrap方法按预期工作,但append()方法追加返回的html,这就是为什么在$new.wrap('

')返回的html中 $('
test
');
但不是包装对象.你不会得到你所期望的.因此,为了获得预期的结果,我们可以使用:

$('form').append(
   $new.wrap('
') //I am returning $new .parent()//Now, I am returning '.new' );//now .new object is appended to the form

这是追加方法的工作原理!

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有