Ciao amici,
sto avendo un problema nell'utilizzo di un selettore di classe, mi spiego:
ho un menu composto da tag UL e LI e voglio gestire i click agli LI che posseggano una certa classe "klass".
Il meccanismo è il seguente:
prima associo ad ogni LI la classe "klass", poi al click su un LI con "klass" associata gli rimuovo la classe, in modo che al successivo click sullo stesso LI il comportamento sia differente da prima, a causa della rimozione della "klass".
Solo che non funziona, nel senso che pur non avendo il LI più la "klass" (ho verificato da debugger di chrome che effettivamente la classe non ci sia più), al click il selettore jQuery lo seleziona lo stesso.codice:jQuery(document).ready(function () { jQuery('li').addClass('klass'); jQuery('li.klass').click(function() { //... jQuery(this).removeClass('klass'); //... }); });
Funziona solamente se evito di associare la "klass" ai tag LI fin dall'inizio,
Ho trovato questo workaround, ma non mi soddisfa, vorrei capire perché il metodo sopra non funziona:
Ho provato sia con jQuery jquery-3.2.1 che la 1.11.0.codice:jQuery(document).ready(function () { jQuery('li').addClass('klass'); jQuery('li').click(function() { if (jQuery(this).hasClass('klass')) { jQuery(this).removeClass('klass'); // ... } });
Sia Chrome che Firefox.
Vi ringrazio