JSFiddle - React, Tailwind, and code Playground
HTML
<div class="container">
<span>REMOVED</span>
<div>REMOVED</div>
<strong data-*>NOT REMOVED</strong>
<p>REMOVED</p>
<div data-*>NOT REMOVED</div>
</div>
JavaScript
var parent = document.querySelector('.container');
var elems = parent.querySelectorAll('*');
for (var i=elems.length; i--;) {
var attr = elems[i].attributes,
hasData = false;
for (var j = attr.length; j--;) {
if ( attr[j].name.indexOf('data') === 0 ) {
hasData = true;
break;
}
}
if ( ! hasData ) parent.removeChild(elems[i]);
}