JSFiddle - React, Tailwind, and code Playground

HTML

<div id="teste">
    <section id="ele-section1">
        <div data-section="1">
            <div class="not_this">
                <div>
                    <div class="ele2">
                        <div id="ele3">
                            <div class="ele4">
                                <div class="child">
                                    <!-- Conteúdo -->
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>
</div>

JavaScript

var getParents = (function() {
    function match(el, classes) {
        return classes.filter(function(css) {
            return el.matches(css);
        }).length != 0;
    }

    return function(from, not /*, not2, etc...*/ ) {
        var args = [].slice.call(arguments);
        var el = document.querySelector(args.shift());
        var parents = [];
        while (el = el.parentElement) {
            if (!match(el, args)) parents.push(el);
        }
        return parents;
    }
})();

console.log(getParents('.ele4', '.not_this', '#teste', 'body', 'html')); // [div#ele3, div.ele2, div, div, section#ele-section1]