javascript - 有没有办法将非元素包含的文本添加到 $ ("")?

标签 javascript jquery html

我正在创建一个 JavaScript 框架来构建 HTML 文档。首先使用 jQuery 构建一个虚拟文档。现在,我正在试验 jQuery 的“add”函数,如下所示:

$(target).append($("").add($("<div>")).add($("<span>")))

The framework concatenates these calls to build the virtual document before it is appended to the target - this simplified code sample isn't literally what I'm doing. The reason for adding the first $("") is because the framework starts by creating an empty jQuery selection then adds stuff to it. Sub-documents are recursively created and added to parent elements.

这对于将元素连接在一起效果很好,但是如果我想连接文本怎么办?假设我想要呈现这样的内容:

<div></div> Outside the box!

我不能只做$("<div>").add("Outside the box!")另外,$.after()似乎不起作用,除非 <div>已经在 DOM 上。

jQuery 支持此功能吗?如果没有,有什么解决方法吗?

最佳答案

是的,您可以使用简单的字符串连接与元素的当前 HTML:$('<div>').html($('<div>').html() + 'Outside the box!')

<小时/>

由于您的代码 DOM 在内存中而不是实际的 HTML,因此您需要使用多行代码:

var $div = $('<div>', {html: $('<div>')});
$div.html($div.html() + "Outside the box!");

关于javascript - 有没有办法将非元素包含的文本添加到 $ ("")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41137867/

相关文章:

javascript - ReactJs setState 更新与输入框中输入的内容不同步

jquery - 当用户在搜索中键入内容时创建下拉菜单?

javascript - 如何清空select2之前的数据?

javascript - 如何解决 Angular 应用程序中的 "disappearing"jQuery 验证问题?

html - 容器内 float 元素时的填充问题

html - IE 和 Div 高度

javascript - Immutablejs - 映射不使嵌套对象不可变

javascript - 组件获取逻辑应该放在哪里?

javascript - 可见性属性在 javascript 函数中没有按预期工作

javascript - 如何将变量传递给另一个页面