Element.insertAdjacentElement() - Web API 接口参考 编辑

insertAdjacentElement() 方法将一个给定的元素节点插入到相对于被调用的元素的给定的一个位置。

语法

element.insertAdjacentElement(position, element);

参数

position
A DOMString 表示相对于该元素的位置;必须是以下字符串之一:
  • 'beforebegin': 在该元素本身的前面.
  • 'afterbegin':只在该元素当中, 在该元素第一个子孩子前面.
  • 'beforeend':只在该元素当中, 在该元素最后一个子孩子后面.
  • 'afterend': 在该元素本身的后面.
element
要插入到树中的元素.

返回值

插入的元素,插入失败则返回null.

异常

异常说明
SyntaxError插入的位置是一个无法识别的值。
TypeError插入的元素不是一个有效元素。

位置命名的可视化展示

<!-- beforebegin -->
<p>
<!-- afterbegin -->
foo
<!-- beforeend -->
</p>
<!-- afterend -->
注: 当节点处于DOM树中而且有一个父元素的时候 beforebegin 和 afterend操作才能起作用。

例子

beforeBtn.addEventListener('click', function() {
  var tempDiv = document.createElement('div');
  tempDiv.style.backgroundColor = randomColor();
  activeElem.insertAdjacentElement('beforebegin',tempDiv);
  setListener(tempDiv);
});

afterBtn.addEventListener('click', function() {
  var tempDiv = document.createElement('div');
  tempDiv.style.backgroundColor = randomColor();
  activeElem.insertAdjacentElement('afterend',tempDiv);
  setListener(tempDiv);
});

看看我们在 Github (也可以参考 源码)上的 insertAdjacentElement.html 演示。在一个容器当中我们有一组<div> 元素。 点击其中一个div时,这个容器会处于选中状态,然后你就可以按下Insert before 或Insert after 按钮通过 insertAdjacentElement()方法来把一个新的divs 插入到选中的元素前面或者后面。

规范

规范状态批注
DOM
insertAdjacentElement()
Living Standard 

浏览器兼容

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Basic support(Yes)48.0 (48.0)8(Yes)(Yes)
FeatureAndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Basic support?48.0 (48.0)???

参见

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:111 次

字数:6922

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文