this dans une balise a (lien)

this dans une balise a (lien) - Javascript/Node.js - Programmation

Marsh Posté le 24-05-2024 à 11:20:33    

Bonsoir à toutes,
 
Je fait face à un truc bizarre que je n'arrive pas à comprendre :
J'ai ce code HTML javascript :

Code :
  1. <a href="javascript:void(0);" onclick="alert(this);">TEST</a>


Je devrais normalement avoir un message du genre "object HTMLa..." et j'ai pourtant le contenu du href ?! (javascript:void(0);)
 
et si j'ajoute .innerHTML après le this, j'ai bien le mot TEST...
 
Par contre, de cette manière, j'ai bien [object HTMLParagraphElement]

Code :
  1. <p onclick="alert(this);">TEST2</p>


 
Une idée ?
Merci :)


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 24-05-2024 à 11:20:33   

Reply

Marsh Posté le 28-05-2024 à 10:29:46    

Salut
le "soucis" vient de ton alert qui veut afficher un string. Pour celà il converti l'object (le "this" ) en passant par la méthode toString ().
Pour les HTMLAnchorElement, ca renvoit le href, mais pour les HTMLParagraphElement ce n'est pas le cas et ca renvoit une conversion basique de type "[object...]"
> https://developer.mozilla.org/en-US [...] t/toString
 
Pour plus de lisibilité, tu peux utiliser ca :

Code :
  1. <a href="javascript:void(0);" onclick="console.log (this);">TEST</a>
  2. <p onclick="console.log (this);">TEST2</p>


 
Sachant que le mieux est de ne PAS utiliser de JS inline ;)


---------------
We deserve everything that's coming...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed