Skip to content

Instantly share code, notes, and snippets.

@arturparkhisenko
Last active August 19, 2017 06:20
Show Gist options
  • Save arturparkhisenko/693f22d756fb568a6075 to your computer and use it in GitHub Desktop.
Save arturparkhisenko/693f22d756fb568a6075 to your computer and use it in GitHub Desktop.
function to remove by selector
/**
* remove - removes DOM elements
* working with: usual dom element, selector, jQuery object, Polymer object
* @param {string | object} selectorOrObject - dom object
*/
function remove(selectorOrObject) {
if (!selectorOrObject) {
return;
}
let elements = [];
if (selectorOrObject.nodeType === 1) {
// usual dom element
elements = [selectorOrObject];
} else if (typeof selectorOrObject === 'string') {
// selector
elements = document.querySelectorAll(selectorOrObject);
} else if (selectorOrObject.length) {
// jQuery object
elements = selectorOrObject;
} else if (selectorOrObject.node && selectorOrObject.node.nodeType === 1) {
// Polymer object
elements = [selectorOrObject.node];
} else {
return;
}
const elLength = elements.length;
for (let i = 0; i < elLength; i++) {
if (elements[i].parentNode) {
elements[i].parentNode.removeChild(elements[i]); // for old browsers
} else {
elements[i].remove(); // usual window method
}
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment