JSFiddle - React, Tailwind, and code Playground

by shaneblake

HTML

<div></div>
<div>
    <div id="level1">
        <div id="level2">        
            <div class="findMe"> Find Me </div>
            <div> ignore me </div>
        </div>
    </div>
</div>

<hr>
[<h2 id="output"></h2>]

JavaScript

$(function() {
    var uid = $.map($(".findMe").parentsUntil('body').andSelf(), function(o, i) {
        return o.id || o.tagName.toLowerCase() + $(o).prevAll(o.tagName).length;
    }).join('_');

    $("#output").text(uid);

    $("div").each(function() {
        var uid = $.map($(".findMe").parentsUntil('body').andSelf(), function(o, i) {
            return o.id || o.tagName.toLowerCase() + $(o).prevAll(o.tagName).length;
        }).join('_');
        $(this).data("uid", uid);
    });


});