appendTo的API文档列出了能够为目标选择HTML字符串的方法。
但是,由于该集合仍包含原始元素,因此似乎没有用,HTML字符串似乎未在DOM中的任何位置添加,也没有看到可以使用它的情况。
>var b = button.appendTo('<div>').appendTo('body');
b
是一个按钮,但没有包装在div
或其他任何东西中。
您可以在http://jsfiddle.net/0dgLe5sj/
看到此内容在何处附加HTML字符串(页面上尚不存在)?
答案 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,然后将其移回到主体上并没有多大意义,但这证明了原理。