vanillajs-browser-helpers
Version:
Collection of convenience code snippets (helpers) that aims to make it a little easier to work with vanilla JS in the browser
26 lines (19 loc) • 670 B
text/typescript
import isString from 'vanillajs-helpers/isString';
import isDOMChildNode from './isDOMChildNode';
import create from './create';
/**
* Replace a given DOM element with another DOM element or plain HTML string
*
* @param elm - DOM element to replace
* @param replacement - DOM element or plain HTML string to replace {elm}
* @return The value given in `elm`
*/
export default function replaceNode(elm: Node, replacement?: Node | string): Node | void {
if (!isDOMChildNode(elm)) { return; }
if (!replacement) { return elm.remove(); }
if (isString(replacement)) {
replacement = create(replacement);
}
elm.replaceWith(replacement);
return elm;
}