JSFiddle - React, Tailwind, and code Playground

by Dimitar Christoff

HTML

<div>one</div>
<div data-foo="foo">two</div>
<div data-bar="bar">three</div>
<div data-foobar="foobar">three</div>

JavaScript

Elements.implement({
    filterData: function(substring){
        return this.filter(function(element){
            var attribs = element.attributes,
                len,
                ii = 0;
            
            for (len = attribs.length; ii < len; ++ii) {
                if (attribs[ii].name.indexOf('data-') === 0 && attribs[ii].name.indexOf(substring) !== -1) {
                    return true;
                }
            }
        });
    
    }
});

console.log($$("div").filterData('foo'));
console.log($$("div").filterData('bar'));
console.log($$("div").filterData('oba'));