JSFiddle - React, Tailwind, and code Playground
HTML
<div class="menu" id="menu1">
<a href="/html.html">HTML</a>
<a href="/css.html">CSS</a>
<a href="/js.html">JS</a>
</div>
<div class="menu" id="menu2">
<a href="/css/css3.html">CSS3</a><br/>
<div>
<a href="/css/css3/transform.html">transform</a><br/>
<a href="/css/css3/transform-origin.html">transform-origin</a><br/>
<a href="/css/css3/transform-style.html">transform-style</a><br/>
</div>
</div>
CSS
body { font: 14px normal Times, serif; }
div { border: 1px solid #ccc; padding: 5px; margin: 5px; }
a { text-decoration: none; color: #3c3vff; }
.xyz1 { color: #0F0; }
.xyz2 { color: #FF0; }
.xyz3 { color: #F00; }
JavaScript
(()=>{
const uriWithoutParams='/css/css3/transform.html'.split(/[#|?]+/i).shift();
const extension=uriWithoutParams.split('.').pop();
const uriParts=uriWithoutParams.replace('.'+extension,'').split('/').filter(part=>part.length);
const getClassName=index=>'xyz'+index;
uriParts.forEach((uri,index)=>{
uri='/'+uriParts.slice(0,++index).join('/')+'.'+extension;
const className=getClassName(index);
document.querySelectorAll(`a[href="${uri}"]`).forEach(node=>{
node.classList.add(className);
});
});
})();