JSFiddle - React, Tailwind, and code Playground
by ThiefMaster
HTML
<div><div></div></div>
<div> <!-- 1 -->
<span></span>
<div> <!-- 1 -->
<div></div>
<span></span>
<div> <!-- 2 -->
<div> <!-- 0 -->
<div id="blah"></div>
</div>
</div>
</div>
<span></span>
</div>
<span></span>
<div></div>
JavaScript
var elem = $('#blah');
var loc = elem.parents().not('html, body').map(function() {
return ':nth-child(' + ($(this).index() + 1) + ')';
}).get();
loc.reverse();
loc.push(':nth-child(' + (elem.index() + 1) + ')');
var selector = 'body > ' + loc.join(' > ');
alert(selector);
alert($(selector).prop('id'));