“ appendTo()”在哪里可以与“ htmlString”一起使用?

时间:2018-09-30 04:59:14

标签: javascript jquery append

appendTo的API文档列出了能够为目标选择HTML字符串的方法。

但是,由于该集合仍包含原始元素,因此似乎没有用,HTML字符串似乎未在DOM中的任何位置添加,也没有看到可以使用它的情况。

>
var b = button.appendTo('<div>').appendTo('body');

b是一个按钮,但没有包装在div或其他任何东西中。

您可以在http://jsfiddle.net/0dgLe5sj/

看到此内容

在何处附加HTML字符串(页面上尚不存在)?

1 个答案:

答案 0 :(得分:2)

appendTo()返回要附加的项目。

所以您的代码是:

var btn = button.appendTo('<div>');
btn.appendTo('body');

如您所见,将其移动到div内,然后然后立即将其移动到体内。因此,当您最后查看它时,它就在体内。

也许你是说:

var b = button.appendTo($('<div>').appendTo('body'));

这会将div附加到正文,然后将btn附加到该div。

更新的小提琴:http://jsfiddle.net/0dgLe5sj/8/

或者,如果您想先添加到div中:

var b = button.appendTo("<div>");
b.parent().appendTo("body")

但是,如果将其组合成一行,则无法使用.appendTo将按钮返回到变量中,因为您要将div添加到正文中,因此使div或身体恢复原状。


要解决“这将在哪里有用”:

能够创建分离的 DOM元素对于解析HTML字符串非常有用,还可以用于“批处理”某些更改,而无需强制页面之间重新绘制。

将一个按钮移至一个独立的div,然后将其移回到主体上并没有多大意义,但这证明了原理。