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) • 776 B
JavaScript
import isString from 'vanillajs-helpers/isString';
import ensureHTML from './ensureHTML';
import inDOM from './inDOM';
import isDOMElement from './isDOMElement';
/**
* Inserts DOM element or plain HTML before a given DOM element
*
* @param elm - The DOM element to insert elements before
* @param insertElm - DOM element or HTML (or selector) to insert
* @return The inserted element
*/
export default function insertBefore(elm, insertElm) {
if (!inDOM(elm) || isDOMElement(elm, 'html')) {
return null;
}
if (isString(insertElm)) {
elm.insertAdjacentHTML('beforebegin', ensureHTML(insertElm));
}
else {
elm.insertAdjacentElement('beforebegin', insertElm);
}
return elm.previousElementSibling;
}