Les Éléments du spectacle lors de l'enregistrement de l'objet jQuery en Chrome Dev Tools console?
Il semble que quelque chose a changé ces derniers temps avec Chrome Dev Tools. L'enregistrement d'un objet jQuery avec console.log
utilisé pour afficher l'Élément de l'arbre DOM dans la console. Quelque chose comme ceci:
[<a href="#employees">Employees</a>]
Maintenant, il a changé à un objet cliquable comme ceci:
[<a>, context: <a>]
Est-il un moyen de revenir à l'ancien style de l'objet de l'exploitation forestière ou même une autre méthode à appeler sur console
?
Je suis actuellement en utilisant la version 23.0.1271.64
. Vous ne savez pas exactement quelle version a apporté la modification.
Fonctionne pour moi. Quelle version?
Version 23.0.1271.64. Je n'aime pas ces changements. En outre menu contextuel "révéler des éléments dans le panneau" ne pas afficher.
Ma version est 23.0.1271.64. Il montre le nœud DOM avec une petite flèche à côté d'elle et les points de suspension à l'intérieur.
1) Aller à jquery.com 2) ouvrez la console et 3) le type de
Vous devez exécuter manuellement
Version 23.0.1271.64. Je n'aime pas ces changements. En outre menu contextuel "révéler des éléments dans le panneau" ne pas afficher.
Ma version est 23.0.1271.64. Il montre le nœud DOM avec une petite flèche à côté d'elle et les points de suspension à l'intérieur.
1) Aller à jquery.com 2) ouvrez la console et 3) le type de
$('h2')
et console.log($('h2'))
. Qui va vous montrer la différence.Vous devez exécuter manuellement
console.log = inspect;
dans la console avant de l'utiliser console.log
dans le code. Mais il est pénible de le faire à chaque fois...OriginalL'auteur David Tuite | 2012-11-25
Vous devez vous connecter pour publier un commentaire.
Si vous voulez de la console.log() pour cracher l'élément DOM, vous devez vous connecter à l'élément du DOM et non pas l'objet jQuery. L'élément DOM est toujours accessible que l'0e élément du sélecteur jQuery. Donc, la façon dont vous l'accès au réel de l'élément DOM à partir d'un sélecteur jQuery est comme ceci:
Et pour obtenir l'élément DOM à apparaître dans le journal la façon dont vous voulez, vous voulez faire cela:
Et pour les sélecteurs jQuery qui contiennent/retour de plusieurs éléments du DOM, vous pourriez boucle, comme ceci:
Pourquoi google Chrome dev tools ce faire, je ne peux que deviner que c'est fait, puisqu'il fait plus de sens à se connecter à un objet jQuery comme un objet.
Pourquoi voudriez-vous faire
$(this)[0]
lorsque identique à juste à l'aide dethis
?Pour démontrer l'utilisation de la 0e élément ... Vous avez raison.
this = $(this)[0]
OriginalL'auteur J.Wells
J'ai trouvé cela utile:
Aussi, si vous exécutez
console.log = inspect;
à partir de l'intérieur de la console, les choses vont de sortie à l'ancienne, mais ça ne fonctionne pas si vous venez de le faire à partir de votre code, il doit être à partir de la console.console.log.apply(console, $("a"));
est agréable.Le
console.log=inspect
chose ne fonctionne que si vous entrez directement dans la console et s'applique uniquement aux journaux déclenchée à partir de la console par la suite. Pas une bonne solution, en général.Le.apply(console,
chose, c'est bien plus utile.OriginalL'auteur brentonstrine
Elle a été cassée par le Chrome développeurs dans le 12 novembre, et n'a pas été fixée comme des Canaries aujourd'hui.
Utilisation https://github.com/pimvdb/jquery.chromelog restaurer le comportement précédent comme une solution de contournement.
La syntaxe est légèrement différente:
Mais il est conçu pour miroir de l'ancien, de travail comportement de Chrome.
OriginalL'auteur mikemaccana
Est-ce répondre à votre question
console.dir( element )
..?Mise à jour:
Ne faites pas cette
Mais utiliser:
Désolé, +1 pour mon erreur...
Pas de problème, mais c'est le +1 fonctionnel? xD
Qui enregistre tout quelque chose comme ceci:
jQuery.fn.jQuery.init[1]
.Je suis allé à jQuery.com et essayé dans la console
console.dir( document.getElementById("jq-siteContain"))
et il m'a donné ce que tu voulais. Elle na pas me donner la fonction init. Ne pas utiliser $("#el"), mais l'utilisation de document.getElementById(el)OriginalL'auteur EricG
Il semble que ce ne sera pas corrigé dans le plus proche avenir. Google Chrome Canary ont encore ce problème.
J'aime le nouveau comportement de la console avec des objets aperçu, mais je veux une exception pour les objets jQuery.
Vous pouvez "patch"
console.log
un peu pour faire de l'affichage jQuery objets comme avant.Il est possible de "convertir" jQuery objets à la liste de séparer les arguments. Par exemple:
Dans la console pourrait être affiché comme:
J'ai écrit le script qui va modifier
console.log
arguments pour jQuery objets:Maintenant, vous pouvez inclure ce script dans votre page pour remplacer comportement de la console, mais ce n'est pas une bonne façon de résoudre ce problème, j'ai donc enroulé dans Extension Chrome qui le fera automatiquement pour toutes les pages.
OriginalL'auteur Inferpse