我正在创建一个JavaScript框架来构建HTML文档。首先,使用jQuery构建虚拟文档。现在,我正在尝试使用jQuery"添加"功能如下:
$(target).append($("").add($("<div>")).add($("<span>")))
框架连接这些调用以在将虚拟文档附加到目标之前构建虚拟文档 - 这个简化的代码示例实际上并不是我正在做的事情。添加第一个$(&#34;&#34;)的原因是因为框架首先创建一个空的jQuery选择然后添加内容。子文档以递归方式创建并添加到父元素中。
这适用于将元素连接在一起,但如果我想连接文本怎么办?让我们说我希望有这样的东西呈现:
<div></div> Outside the box!
我不能$("<div>").add("Outside the box!")
此外,$.after()
似乎无法正常工作,除非<div>
已经在DOM上。
jQuery是否支持此功能?如果没有,是否有任何解决方法?
答案 0 :(得分:1)
是的,您可以使用简单的字符串连接与元素的当前HTML:$('<div>').html($('<div>').html() + 'Outside the box!')
由于你的代码DOM是 in memory 而不是实际的HTML,你需要使用多行代码:
var $div = $('<div>', {html: $('<div>')});
$div.html($div.html() + "Outside the box!");