Autor Zpráva
emfo
Profil *
ahojte,
        <ul id="menu">
            <li><a href="" onClick="add()" id="prve">a</a></li> 
            <li><a href="" onClick="add()" id="druhe">b</a></li> 
            <li><a href="" onClick="add()" id="tretie">c</a></li>
            <li><a href="" onClick="add()" id="stvrte">d</a></li>
                        <li><a href="" onClick="add()" id="piate">e</a></li>
        </ul>
<script>
function add(){
$('#menu li a').click(function(){
$('#prve').removeClass("vybrate");
$('#druhe').removeClass("vybrate");
$('#tretie').removeClass("vybrate");
$('#stvrte').removeClass("vybrate");
$('#piate').removeClass("vybrate");
$(this).addClass("vybrate");
 });
}
</script>
Ide mi o to aby keď kliknem na b aby sa pridala b-čku trieda vybrate a zároveň aby tá trieda nikde inde nebola,keď vyberem c aby tam bola trieda vybrate a zároveň nikde inde nebola ..atď.
napadlo ma to len hentak spraviť ale aj tak mi to nefunguje, neviete kde je chyba?/prerobiť to nejak jednoduchšie?
ďakujem
_es
Profil
emfo:
<a href="" onClick="add()"
Pri takomto spustení funkcie add v nej bude this rovné objektu window.
Chamurappi
Profil
Reaguji na emfa:
Při zachycení kliknutí nastavuješ, aby se zachytávalo kliknutí a při něm se teprve něco udělalo… proč?

Upravil bych volání v jednotlivých odkazech na:
<li><a href="" onClick="return !add(this)">a</a></li>
… ídéčka na nich nepotřebuješ.

A funkci přepsal nějak takhle:
var vybrate = null;
function add(a)
{
  if(vybrate) vybrate.className = "";
  a.className = "vybrate";
  vybrate = a;
  return true;
}
emfo
Profil *
čiže ako to prepísať?


aha skúsim ďakujem

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: