javascript - 在 JavaScript 中的元素之前添加 innerHTML?

标签 javascript html dynamic nodes innerhtml

<分区>

现在我不是在谈论创建子节点或子节点,我的意思是 HTML。这就是我想要做的:

我有一个基本节点,例如:

<div id="foo"></div>

我有一个 HTML 字符串,我想在该元素之前附加(有点像 innerHTML 所做的,不同之处在于,我显然把它放在前面,而不是里面),例如:

"<span>hello, world</span><div></div>Foo<img src="logo.png" />Bar"

现在我想在 div 之前插入该 HTML,所以我的结果是:

<span>hello, world</span><div></div>Foo<img src="logo.png" />Bar<div id="foo"></div>

有什么方法可以在 JavaScript 中执行此操作(无需任何库)?谢谢!

最佳答案

最优雅和最短的解决方案是调用insertAdjacentHTMLfoo 上以“beforeBegin”和 html 字符串作为参数。纯 JS。

document.getElementById("foo").insertAdjacentHTML("beforeBegin",
          "<div><h1>I</h1><h2>was</h2><h3>inserted</h3></div>");

DEMO

关于javascript - 在 JavaScript 中的元素之前添加 innerHTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22438798/

相关文章:

javascript - 为什么这个clearInterval总是在函数完成时起作用?

javascript - 如何将 json 字典从 javascript.get 传递到 django 模板?

javascript - 如何让新追加的html代码保持原有的css样式?

mysql - App Engine 中的 GoLang 动态 SQL 查询

c# - 如何将动态字典值转换为列表?

javascript - 动画完成后第二次单击(不重复,不在本上下文中!)

javascript - jQuery 检测元素是否已链接

javascript - tinyMCE 删除 background-image :""内容与 magento like urls

javascript - Angularjs - 找不到变量

javascript - 事件监听器在某些上下文中无法附加或删除