352 votes

Que signifie ==$0 (double égal dollar zéro) dans les outils de développement de Chrome ?

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?

Capture d'écran

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

319voto

deadlock Points 2587

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.

12 votes

Quel est l'utilisation / avantage de ceci ?

7 votes

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.

11 votes

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.

60voto

Ani Menon Points 5876

$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

29voto

Siva Prakash Points 2070

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.

capture d'écran des outils de développement Chrome

18voto

Sagar Points 775

Ceci est l'indication de Chrome pour vous dire que si vous tapez $0 sur la console, cela sera équivalent à cet élément spécifique.

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 :

  • Accéder aux éléments du DOM depuis la console : $0
  • Accéder à leurs propriétés depuis la console : $0.parentElement
  • Mettre à jour leurs propriétés depuis la console : $1.classList.add(...)
  • Mettre à jour les éléments CSS depuis la console : $0.styles.backgroundColor="aqua"
  • Déclencher des événements CSS depuis la console : $0.click()
  • Et faire beaucoup d'autres choses complexes, comme : $0.appendChild(document.createElement("div"))

Regardez tout cela en action :

entrer la description de l'image ici

Déclaration de soutien :

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à.

5voto

malbarmawi Points 3885

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.com

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.

Powered by:

X