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