Dans les outils de développement de Google Chrome, lorsque je sélectionne un élément, je vois ==$0
à côté de l'élément sélectionné. Que signifie cela?
Quel est l'utilisation / avantage de ceci ?
C'est l'index du dernier nœud DOM sélectionné. Chrome attribue un index à chaque nœud DOM que vous sélectionnez. Ainsi, $0
pointera toujours vers le dernier nœud que vous avez sélectionné, tandis que $1
pointera vers le nœud que vous avez sélectionné avant cela. Pensez-y comme une pile des nœuds récemment sélectionnés.
Par exemple, considérons ce qui suit
Vous avez maintenant ouvert la console des outils de développement et sélectionné #dimanche
, #lundi
et #mardi
dans l'ordre mentionné, vous obtiendrez les ids suivants:
$0 ->
$1 ->
$2 ->
Remarque: Il peut être utile de savoir que le nœud est sélectionnable dans vos scripts (ou console), par exemple, une utilisation courante de ceci est le sélecteur d'élément angular, donc vous pouvez simplement choisir votre nœud, et exécuter ceci :
angular.element($0).scope()
Voilà, vous avez accès à la portée du nœud via la console.
Je crois que cela peut être utile pour le débogage. La capacité d'accéder à l'élément inspecté en utilisant un sélecteur simple peut aider dans de nombreuses situations pendant le débogage.
Alors à quoi bon afficher toujours == $0
dans l'interface utilisateur ? Quiconque connaît $0
saura déjà de quel élément il s'agit, et cela n'a aucun sens pour ceux qui ne le savent pas.
$0 renvoie l'élément ou l'objet JavaScript le plus récemment sélectionné, $1 renvoie le deuxième élément sélectionné le plus récemment, et ainsi de suite.
Référence : Référence de l'API en ligne de commande
Les autres réponses ici ont clairement expliqué ce que cela signifie. J'aime expliquer son utilisation.
Vous pouvez sélectionner un élément dans l'onglet elements
et basculer vers l'onglet console
dans Chrome. Il vous suffit de taper $0 ou $1
ou n'importe quel numéro et d'appuyer sur Entrée et l'élément s'affichera dans la console pour votre usage.
En interne, Chrome maintient une pile, où $0 est l'élément sélectionné, $1 est l'élément qui a été sélectionné en dernier, $2 serait celui qui a été sélectionné avant $1 et ainsi de suite.
Voici quelques-unes de ses applications :
Oui, je suis d'accord qu'il existe de meilleures façons d'effectuer ces actions, mais cette fonctionnalité peut s'avérer utile dans certains scénarios complexes, comme lorsqu'un élément DOM doit être cliqué mais qu'il n'est pas possible de le faire depuis l'interface utilisateur car il est couvert par d'autres éléments or, pour quelque raison, n'est pas visible sur l'interface utilisateur à ce moment-là.
Je dirai que c'est juste une syntaxe abrégée pour obtenir une référence à un élément html pendant le débogage, normalement ce type de tâche sera effectué par ces méthodes
document.getElementById , document.getElementsByClassName , document.querySelector
donc cliquer sur un élément html et obtenir une variable de référence ($0) dans la console est un gain de temps énorme pendant la journée
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
34 votes
Il s'agit de l'ID du nœud DOM sélectionné. Essayez de sélectionner n'importe quel nœud et écrivez
$0
dans la console pour voir ce qui apparaît ;)37 votes
C'est très déroutant. On dirait que quelqu'un a écrit du javascript qu'ils ont oublié de mettre dans une balise script. J'ai passé une bonne dizaine de minutes à essayer de comprendre où j'avais commis une erreur dans mon code...
2 votes
Vérifiez le lien suivant developer.chrome.com/devtools/docs/commandline-api#0-4
4 votes
Je pense que seule la couleur de fond différente dans la ligne cliquée devrait suffire... Je ne vois pas la nécessité d'ajouter == $0 à la source html... Mauvaise idée. Chrome fait des trucs à la Chrome.
0 votes
developers.google.com/web/tools/chrome-devtools/console/… Translated to French: developers.google.com/web/tools/chrome-devtools/console/…