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
24 lines (23 loc) • 669 B
JavaScript
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, replacement) {
if (!isDOMChildNode(elm)) {
return;
}
if (!replacement) {
return elm.remove();
}
if (isString(replacement)) {
replacement = create(replacement);
}
elm.replaceWith(replacement);
return elm;
}