45

Za pomocą Google Chrome, jeśli obiekt jest console.log, umożliwia sprawdzenie elementu w konsoli. Na przykład:Jak mogę zalogować element HTML jako obiekt JavaScript?

var a = { "foo" : "bar", "whiz" : "bang" }; 
console.log(a); 

ten wypisuje Object które mogą być kontrolowane przez kliknięcie na strzałki obok niej. Jeżeli jednak próbuję zalogować się HTMLElement:

var b = goog.dom.query('html')[0]; 
console.log(b); 

ten wypisuje <html></html> które mogą być kontrolowane przez kliknięcie na strzałki obok niej. Gdybym chciał zobaczyć obiekt JavaScript (z jego metodami i polami) zamiast tylko elementu DOM, jak by to zrobić?

Odpowiedz

88

Korzystając console.dir:

var element = document.documentElement; // or any other element 
console.log(element); // logs the expandable <html>…</html> 
console.dir(element); // logs the element’s properties and values 

Jeśli jesteś już wewnątrz konsoli, można po prostu wpisać dir zamiast console.dir:

dir(element); // logs the element’s properties and values 

po prostu wymienić różne nazwy własności (bez wartości), można użyć Object.keys:

Object.keys(element); // logs the element’s property names 

Choć nie ma publicznej metoda console.keys(), jeśli jesteś wewnątrz konsoli już , wystarczy wpisać:

keys(element); // logs the element’s property names 

Nie będzie to jednak działać poza oknem konsoli.

+1

'console.log ("% O ", document.body);' działa również – Viney

18

spróbuj tego:

console.dir(element) 

Reference
[Video] Paul Irish on becoming a console power user.

+0

+1 Zawsze używałem '[[element]]' do tworzenia tablicy, więc Chrome został zmuszony do wyświetlenia go jako obiektu ... Dzięki! – pimvdb

+0

Działa to również w Firefoksie i Safari. – Ross

+0

Świetna odpowiedź bezpośrednia. Przez "najstarszy" rodzaj we włosach po drugim, stąd przyjąć, ale wielkie dzięki! –

Powiązane problemy