web-dev-qa-db-fra.com

Comment je console.log un élément DOM jQuery dans Chrome?

Auparavant, je pouvais faire console.log(somejQueryObj); et il enregistrait dans un tableau tous les éléments DOM contenus dans l'objet sur lequel je pouvais cliquer et accéder à l'inspecteur.

Maintenant, il fait quelque chose comme ça:

[prevObject: p.fn.p.init [1], contexte:, sélecteur: ".next ()"]

qui peut confondre beaucoup de gens .

Comment puis-je faire en sorte que Chrome enregistre comment il utilisait les éléments jQuery?

Voici un exemple de violon


Je suis dedans:

Google Chrome 23.0.1271.97 (version officielle 171054) m

16
Neal

Mise à jour: J'ai créé un plugin jQuery pour ramener la journalisation à l'ancienne: jquery.chromelog .


Vous pouvez créer une petite fonction pour enregistrer tous les éléments sur une seule ligne:

$.fn.log = function() {
  console.log.apply(console, this);
  return this;
};

Usage:

$("...").log();
18
pimvdb

Pour le faire pour chaque élément afin de pouvoir le survoler, essayez quelque chose comme ceci:

$("div").each(function(){console.log(this)})​
3
lamflam
console.log($(...)[0]);

est une autre façon

1
kidwon

J'ai trouvé un solution qui les consignera individuellement si besoin est (mais cela pourrait encombrer le journal s'il est un gros sélecteur):

http://jsfiddle.net/maniator/ya7As/

var log = function($selector) {
    $selector.each(function() {
        console.log(this);
    });
};
log($('selector'))​;
1
Neal