En raison de différentes raisons, je ne peux PAS utiliser $ ('. Class'). Cliquez ou sur ('clic', fonction …)
Je dois donc utiliser l'événement onclick = "" de l'élément html.
Existe-t-il un moyen de découvrir la classe à partir de l'élément où l'onclick se produit?
Et le violon http://jsfiddle.net/Aw8Rb/
Merci pour votre aide!
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> </head> <body> <span class="classic one" onclick="someFunction('one')">CLICK HERE</span> <span class="classic two" onclick="someFunction('two')">CLICK HERE</span> <span class="classic three" onclick="someFunction('three')">CLICK HERE</span> <span class="classic four" onclick="someFunction('four')">CLICK HERE</span> <script type="text/javascript"> function someFunction(abc) { alert(abc); alert($(this).attr('class')); } </script> </body> </html>
Vous devez passer this
référence lors de l'appel de la fonction
essaye ça
<span class="classic one" onclick="someFunction(this,'one')">CLICK HERE</span> ...... //same for others
Jquery
function someFunction(obj,abc) { alert(abc); alert($(obj).attr('class')); }
Avec javascript simple (sans Jquery)
function someFunction(obj,abc) { alert(obj.className); }
Violons ici
Un mode non jquery en utilisant this.className
ici .
Si vous ajoutez l'élément à l'argument, vous pouvez l'utiliser dans votre fonction pour récupérer toutes les données que vous souhaitez
Essaye ça:
<span class="classic one" onclick="someFunction('one',this)">CLICK HERE</span> <span class="classic two" onclick="someFunction('two',this)">CLICK HERE</span> <span class="classic three" onclick="someFunction('three',this)">CLICK HERE</span> <span class="classic four" onclick="someFunction('four',this)">CLICK HERE</span> <script type="text/javascript"> function someFunction(abc,obj) { alert(abc); alert($(obj).attr('class')); } </script>
DEMO
À partir de jsfiddle
vous avez fourni, modifiez votre code comme ci-dessous et vous obtiendrez la réponse (classe) correctement.
<span class="classic four" onclick="someFunction(this,'four')">CLICK HERE</span> function someFunction(obj,abc) { alert(abc); alert(obj.getAttribute('class')); }
Passez this
comme premier argument et accédez-le en fonction avec obj
. Ensuite, vous pouvez utiliser obj.getAttribute('class')
Pass this.className comme paramètre … par ex.
<input type="button" onclick="abc(this.className)" />
Ajoutez this
comme argument au gestionnaire d'événements en ligne:
<span class="classic one" onclick="someFunction(this,'one')">CLICK HERE</span>
Ensuite, utilisez la propriété className
de l'élément pour obtenir le nom de la classe
function someFunction(e,abc) { console.log(this); alert(e.className); }
Exemple de travail http://jsfiddle.net/Aw8Rb/8/
onclick="javascript:someFunction(this)" function someFunction(obj) { console.log($(obj).attr('class')); }
Vous obtiendrez les deux classes dans l'ordre de l'écriture.