JavaScript中有insertBefore()个元素,但是我如何在不使用jQuery或其他库的情况下插入一个元素或另一个元素呢?

推荐答案

referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);

其中referenceNode是要将newNode放在后面的 node .如果referenceNode是其父元素中的最后一个子元素,那就没问题,因为referenceNode.nextSibling将是null,insertBefore通过添加到列表末尾来处理这种情况.

所以:

function insertAfter(newNode, referenceNode) {
    referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}

可以使用以下代码段对其进行测试:

function insertAfter(referenceNode, newNode) {
  referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}

var el = document.createElement("span");
el.innerHTML = "test";
var div = document.getElementById("foo");
insertAfter(div, el);
<div id="foo">Hello</div>

Javascript相关问答推荐

如何解决(不忽略)reaction详尽的linter规则,而不会在获取数据时导致无限的reender循环

仅在React和JS中生成深色

fetch在本地设置相同来源的cookie,但部署时相同的代码不会设置cookie

使用javascript将Plotly Expandable Sparkline转换为HighCharter Plot在bslib卡中

仅针对RTK查询中的未经授权的错误取消maxRetries

分层树视图

JS,当你点击卡片下方的绿色空间,而它是在它的背后转动时,

JSDoc创建并从另一个文件导入类型

如何控制Reaction路由加载器中的错误状态?

对路由DOM嵌套路由作出react

如何在.NET Core中将chtml文件链接到Java脚本文件?

为什么可选参数的顺序会导致问题?

自定义图表工具提示以仅显示Y值

将相关数据组合到两个不同的数组中

是否可以在不更改组件标识的情况下换出Reaction组件定义(以维护状态/引用等)?如果是这样的话,是如何做到的呢?

JavaScript&;Reaction-如何避免在不使用字典/对象的情况下出现地狱?

如何让SVG图标在被点击和访问后改变 colored颜色 ,并在被访问后取消点击时恢复到原来的 colored颜色 ?

设置复选框根据选中状态输入选中值

如何在Reaction中设置缺省值, Select 下拉列表,动态追加剩余值?

在此div中添加一个类,并在一段时间后在Java脚本中将其删除