Ciao.
Quello di sotto è un vecchio menu a schede, perfettamente funzionante.
Mi sono messo in testa, per migliorare la conoscenza di jquery, di sbarazzarmi degli id e di utilizzare jquery.
purtroppo mi sono arenato e cerco aiuto. Sotto l'html e il codice originario javascript
ripeto, vorrei riscrivere la funzione menu_swap con jquery con l'ipotesi di non avere nessun id nell'html.
codice:
<div class="menu_schede" >
<ul>
<li id="l_0" class="evidenziato nobl" ><a href="#" onclick="menu_swap(this);return false;" >Scheda 1</a></li>
<li id="l_1"><a href="#" onclick="menu_swap(this);return false;" >Scheda 2</a></li>
<li id="l_2"> </li>
<li id="l_3"> </li>
<li id="l_4"> </li>
</ul>
<ul id="n_0" class="informazioni" >
<li>xxx</li>
<li>xxx</li>
<li>xxx</li>
<li>xxx</li>
<li>xxx</li>
<li>xxx</li>
</ul>
<ul id="n_1" class="informazioni" style="display:none;">
<li>xxx</li>
</ul>
<ul id="n_2" class="informazioni" style="display:none;">
<li> </li>
</ul>
<ul id="n_3" class="informazioni" style="display:none;">
<li> </li>
</ul>
<ul id="n_4" class="informazioni" style="display:none;">
<li> </li>
</ul>
</div>
codice:
function menu_swap(v)
{
var l = getParentElement(v, "li");//genitore di v di tipo li
var id = l.id.substr(2);//indice della scheda
var d = getParentElement(v, "div");//genitore div di v
var uls = getElements(d, "ul", null, "n_");//figli ul di d con id che inizia per n_
for(var i = 0; i < uls.length; i++)
{
var ul = uls[i];
if(ul.id == "n_" + id)
{
ul.style.display = "";
if(id == "0")
document.getElementById("l_" + id).className = "evidenziato nobl";
else
document.getElementById("l_" + id).className = "evidenziato";
}
else
{
ul.style.display = "none";
if(i == "0")
document.getElementById("l_" + i).className = "nobl";
else
document.getElementById("l_" + i).className = "";
}
}
}