How to remove elements that were fetched using querySelectorAll? How to remove elements that were fetched using querySelectorAll? javascript javascript

How to remove elements that were fetched using querySelectorAll?


Yes, you're almost right. .querySelectorAll returns a frozen NodeList. You need to iterate it and do things.

Array.prototype.forEach.call( element, function( node ) {    node.parentNode.removeChild( node );});

Even if you only got one result, you would need to access it via index, like

elements[0].parentNode.removeChild(elements[0]);

If you only want to query for one element, use .querySelector instead. There you just get the node reference without the need to access with an index.


Since the NodeList already supports the forEach you can just use:

document.querySelectorAll(".someselector").forEach(e => e.remove());
<div>  <span class="someselector">element 1</span>  <span class="someselector">element 2</span>  there shouldn't be any of the above "element" spans after you run the code</div>