如何从字符串插入元素到html文档?

尼古拉斯·斯塔德勒

我在localStorage中存储了一串html代码,我想要将该字符串转换为文档并将该文档添加到现有页面。到目前为止,我想到了:

var data = localStorage.getItem("data");
var frag = document.createRange().createContextualFragment(data);
document.body.appendChild(frag);

但是在页面中,文档片段只是一个简单的字符串。

编辑

我目前有html:

<html>
<head>
</head>
<body>
</body>
</html>

我出于测试目的保存到本地存储的字符串是 <p>Test</p>

我试图得到的结果:


<html>
<head>
</head>
<body>
<p>Test</p>
</body>
</html>

我得到的结果是:

<html>
<head>
</head>
<body>
"<p>Test</p>"
</body>
</html>
TJ人群

如果本地存储中的文本是HTML,则可以使用将其插入到任何其他现有元素的开头,结尾,之前或之后insertAdjacentHTML例如,要使用html末尾的文档正文中的HTML添加到文档中

document.body.insertAdjacentHTML("beforeend", html);

例:

const html = "<p>This is a new paragraph with <em>emphasized</em> text.</p>";
document.body.insertAdjacentHTML("beforeend", html);
<p>This paragraph is already on the page.</p>

innerHTML如果要完全删除该元素的当前内容并将其替换为HTML字符串中定义的内容,则也可以使用现有元素属性:

someElement.innerHTML = html;

例:

const html = "This is the new content for the paragraph, with <em>emphasized</em> text.";
document.getElementById("existing-paragraph").innerHTML = html;
<p id="existing-paragraph">This paragraph is already on the page.</p>


如果不是HTML,则可以将其放在一个元素(例如apdiv)中,然后通过appendChild将其附加到某个位置insertBefore,例如:

const p = document.createElement("p");
p.textContent = text;
document.body.appendChild(p);

例:

const text = "This is plain text, so things like <this> don't get misinterpreted as HTML.";
const p = document.createElement("p");
p.textContent = text;
document.body.appendChild(p);

或者只是使用createTextNode以下命令将其附加为原始文本

const textNode = document.createTextNode(text);
document.body.appendChild(textNode);

例:

const text = "This is plain text, so things like <this> don't get misinterpreted as HTML.";
const textNode = document.createTextNode(text);
document.body.appendChild(textNode);


在MDN上还有更多值得探索的地方


在评论中,我们发现本地存储中的文本已经过HTML编码,如下所示:

&lt;p&gt;Testing &lt;em&gt; one two three&lt;/em&gt;&lt;/p&gt;

这意味着无论将文本放在本地存储中的代码是什么,然后再进行编码(因为本地存储不这样做;它会忠实地存储并返回您提供的确切字符串)。最好的解决方案可能是更新该代码,以便它不会那样做。

如果您无法更新该代码,则可以将该文本解释为HTML,只需执行两次:一次解释&lt;,以此类推<,然后再次插入并解析结果HTML。最简单的方法是创建一个元素(div例如a),设置其元素innerHTML,然后读取其元素textContent这是一个例子:

例:

const textFromLocalStorage = "&lt;p&gt;Testing &lt;em&gt; one two three&lt;/em&gt;&lt;/p&gt;";
const div = document.createElement("div");
div.innerHTML = textFromLocalStorage;
const decodedHtml = div.textContent;
document.body.insertAdjacentHTML("beforeend", decodedHtml);
<p>This paragraph is already on the page.</p>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将 jQuery HTML 字符串插入到 HTML 文档中

来自分类Dev

如何使用逗号分隔逗号分隔的字符串并插入到html中

来自分类Dev

如何使用逗号分割逗号分隔的字符串并插入到html中

来自分类Dev

如何为类属性/元素打印文档字符串?

来自分类Dev

字符串到电子邮件中的 html 元素

来自分类Dev

将字符串插入/插入html字符串

来自分类Dev

如何使用jQuery插入多行字符串HTML?

来自分类Dev

如何将字符串插入到输出字符串流中

来自分类Dev

如何将文本文档中不断变化的(动态)字符串插入到.conkyrc中作为图像路径

来自分类Dev

如何通过Word文档中替换字符串中插入一个段落

来自分类Dev

如何使用html字符串渲染react元素?

来自分类Dev

如何从HTML字符串的“ head”部分提取元素?

来自分类Dev

PHP的500字后插入字符串到HTML?包含html标签

来自分类Dev

如何发送包含HTML的字符串到SOAP xml?

来自分类Dev

如何在HTML中对字符串元素进行子字符串化

来自分类Dev

innerhtml 字符串到多个元素

来自分类Dev

插入/插入对象到字符串代码

来自分类Dev

如何确保插入到“ sed”替换中的字符串转义所有元字符

来自分类Dev

春季数据Mongo | 没有授权的字符串类型,无法授权插入到system.indexes文档中

来自分类Dev

将JavaScript函数(作为字符串)插入到HTML并调用

来自分类Dev

如何拆分字符串并将其插入到DataTemplate中的Binding中

来自分类Dev

如何使用php拆分长字符串并插入到mysql数据库中?

来自分类Dev

如何将变量插入到预期的字符串中,分隔问题?Excel-VBA

来自分类Dev

如何使用 Parsec (Haskell) 基于密钥标记将值插入到字符串中?

来自分类Dev

我如何通过 javascript 传递 mqtt 字符串来转换并插入到 mysql 中?

来自分类Dev

如何将字符串拆分并插入到 SQL Server 表中?

来自分类Dev

如何使用 Rails 将多行字符串插入到 coffeescript/jquery 值中

来自分类Dev

如何在 C++ 中将变量插入到字符串中?

来自分类Dev

如何将在 c# 代码中生成的字符串插入到 xaml 按钮中?

Related 相关文章

  1. 1

    如何将 jQuery HTML 字符串插入到 HTML 文档中

  2. 2

    如何使用逗号分隔逗号分隔的字符串并插入到html中

  3. 3

    如何使用逗号分割逗号分隔的字符串并插入到html中

  4. 4

    如何为类属性/元素打印文档字符串?

  5. 5

    字符串到电子邮件中的 html 元素

  6. 6

    将字符串插入/插入html字符串

  7. 7

    如何使用jQuery插入多行字符串HTML?

  8. 8

    如何将字符串插入到输出字符串流中

  9. 9

    如何将文本文档中不断变化的(动态)字符串插入到.conkyrc中作为图像路径

  10. 10

    如何通过Word文档中替换字符串中插入一个段落

  11. 11

    如何使用html字符串渲染react元素?

  12. 12

    如何从HTML字符串的“ head”部分提取元素?

  13. 13

    PHP的500字后插入字符串到HTML?包含html标签

  14. 14

    如何发送包含HTML的字符串到SOAP xml?

  15. 15

    如何在HTML中对字符串元素进行子字符串化

  16. 16

    innerhtml 字符串到多个元素

  17. 17

    插入/插入对象到字符串代码

  18. 18

    如何确保插入到“ sed”替换中的字符串转义所有元字符

  19. 19

    春季数据Mongo | 没有授权的字符串类型,无法授权插入到system.indexes文档中

  20. 20

    将JavaScript函数(作为字符串)插入到HTML并调用

  21. 21

    如何拆分字符串并将其插入到DataTemplate中的Binding中

  22. 22

    如何使用php拆分长字符串并插入到mysql数据库中?

  23. 23

    如何将变量插入到预期的字符串中,分隔问题?Excel-VBA

  24. 24

    如何使用 Parsec (Haskell) 基于密钥标记将值插入到字符串中?

  25. 25

    我如何通过 javascript 传递 mqtt 字符串来转换并插入到 mysql 中?

  26. 26

    如何将字符串拆分并插入到 SQL Server 表中?

  27. 27

    如何使用 Rails 将多行字符串插入到 coffeescript/jquery 值中

  28. 28

    如何在 C++ 中将变量插入到字符串中?

  29. 29

    如何将在 c# 代码中生成的字符串插入到 xaml 按钮中?

热门标签

归档