JSFiddle - React, Tailwind, and code Playground

by Blink

HTML

<div class="container">
<div class="elem1"></div>
<div class="elem2"></div>
<div class="elem3"></div>
    </div>

JavaScript

function getDOMElements(selectors, container) {
    var elements = {};
    var ref = (container) ? $(container) : $(document);
    
    $.each(selectors, function(pkey, pvalue) {
        if (typeof pvalue == 'string') {
            elements[pkey] = ref.find(pvalue);  
        } else {
            elements[pkey] = {}
            $.each(pvalue, function(ckey, cvalue) {
                elements[pkey][ckey] = ref.find(cvalue);
            });
        }
    });
    
    return elements;    
}

this.elements = getDOMElements({
    elem1: '.elem1',
    test1: {
        elem2: '.elem2',
    },
    test2: {
        elem3: '.elem3'    
    }
});

this.elements2 = getDOMElements({
    elem1: '.elem1',
    elem2: '.elem2'
}, $('.container'));

console.log(elements);
console.log(elements2);