Your example code is in conflict with your description of a virtual level option
if you truly do have a virtual level option
then a this should work.
As demonstrated here: http://jsfiddle.net/dBT3D/ I have changed the TR's to DIVs as it was causing issues in the browser by not being properly formatted HTML.
HTML:
<div id="83" class="">
<div id="91" class="successor" data-parent="83" data-level="1">
<div id="93" class="successor" data-parent="91" data-level="2"></div>
<div id="92" class="successor" data-parent="91" data-level="2">
<div id="94" class="successor" data-parent="92" data-level="3"></div>
</div>
</div>
<div id="133" class="successor" data-parent="83" data-level="1"></div>
<div id="134" class="successor rowselected" data-parent="83" data-level="1"></div>
</div>
JS:
$(document).ready(function () {
deepestEl = {
element: null,
level: 0
};
$('.successor', '#83').each(function (index, el) {
console.log(el);
if ($(el).data('level') >= deepestEl.level) {
deepestEl.element = el;
deepestEl.level = $(el).data('level');
}
});
console.log(deepestEl);
});
This will return the deepestEl
object with the level and the element. In this example it will return {element: div#94.successor, level: 3}