如何使用纯 Javascript 在 HTML 元素后添加文本?有 appendChild 但这会将它添加到元素中。相反,我想将它添加为元素之后的同级元素,如下所示:
<img id="myimg" src="..." />
<script>
var myimg = document.getElementById('myimg');
myimg.appendAFTER('This is my caption.'); //pseudo-code and doesn't really work
</script>
我想以此结束:
<img id="myimg" src="..." />
This is my caption.
jQuery 中 after()
的 Javascript 等价物是什么?
查看 Node.<a href="https://developer.mozilla.org/en-US/docs/Web/API/Node.insertBefore" rel="noreferrer noopener nofollow">insertBefore()</a>
和 Node.<a href="https://developer.mozilla.org/en-US/docs/Web/API/Node.nextSibling" rel="noreferrer noopener nofollow">nextSibling</a>
( fiddle ):
var myimg = document.getElementById('myimg');
var text = document.createTextNode("This is my caption.");
myimg.parentNode.insertBefore(text, myimg.nextSibling)
或Element.<a href="https://developer.mozilla.org/en-US/docs/Web/API/Element.insertAdjacentHTML" rel="noreferrer noopener nofollow">insertAdjacentHTML()</a>
( fiddle ):
var myimg = document.getElementById('myimg');
myimg.insertAdjacentHTML("afterend", "This is my caption.");