如何使用Javascript替换DOM元素? A.replaceWith(span) - 无需父级
2022-08-30 01:20:35
我希望替换 DOM 中的一个元素。
例如,有一个元素我想用 代替 。<a>
<span>
我该怎么做呢?
我希望替换 DOM 中的一个元素。
例如,有一个元素我想用 代替 。<a>
<span>
我该怎么做呢?
通过使用 replaceChild():
<html>
<head>
</head>
<body>
<div>
<a id="myAnchor" href="http://www.stackoverflow.com">StackOverflow</a>
</div>
<script type="text/JavaScript">
var myAnchor = document.getElementById("myAnchor");
var mySpan = document.createElement("span");
mySpan.innerHTML = "replaced anchor!";
myAnchor.parentNode.replaceChild(mySpan, myAnchor);
</script>
</body>
</html>
A.replaceWith(span)
- 无需父级通用表单:
target.replaceWith(element)
比以前的方法更好/更干净。
对于您的使用案例:
A.replaceWith(span)
...
例子:
// Initially [child1, target, child3]
target.replaceWith(span, "foo") // [child1, span, "foo", child3]
const list = ["bar", span]
target.replaceWith(...list, "fizz") // [child1, "bar", span, "fizz", child3]
null
如果目标有机会为 null,则可以考虑使用 newish 可选链接运算符。如果目标不存在,则不会发生任何事情。在此处阅读更多内容。?.
target?.replaceWith?.(element)
支持的浏览器 - 96% Feb '222