<ul>
<li><ul>
<li><ul>
<li class="selected"></li>
</ul>
</li>
</ul>
</li>
</ul>
function setSelected(topUL) {
var top = typeof topUL === 'string' ? document.querySelector(topUL) : topUL;
var selected = top.querySelectorAll('li.selected');
for(var i = selected.length; i--;) {
var current = selected[i];
while(current !== top) {
current = current.parentNode;
if(current.nodeName === 'LI') {
current.classList.add('selected');
}
}
}
}
на вход принимает селектор или domNode самого верхнего <ul>
в дереве