UNPKG

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
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; }