Jak mogę zarejestrować element HTML jako obiekt JavaScript?


90

Używając przeglądarki Google Chrome, jeśli jesteś console.logobiektem, możesz sprawdzić element w konsoli. Na przykład:

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

To wydrukuje, Objectktóre można sprawdzić, klikając strzałki obok niego. Jeśli jednak spróbuję zalogować HTMLElement:

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

Jest to wydruk, <html></html>którego nie można sprawdzić, klikając znajdujące się obok strzałki. Jeśli chcę zobaczyć obiekt JavaScript (z jego metodami i polami) zamiast tylko DOM elementu, jak mam to zrobić?

Odpowiedzi:


164

Zastosowanie 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ż w konsoli, możesz po prostu wpisać dirzamiast console.dir:

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

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

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

Nawet jeśli nie ma console.keys()metody publicznej , jeśli jesteś już w konsoli, możesz po prostu wpisać:

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

To nie zadziała jednak poza oknem konsoli.


Kiedy używam console.dir () bezpośrednio w konsoli, to działa. Ale jeśli zapiszę go w swoim rzeczywistym pliku .js w VS Code, chrome dev console rejestruje tylko nazwę pliku, w którym został zapisany, i numer wiersza. Czy wiesz, dlaczego?
Maiya

27

+1 Zawsze używałem [[element]]do tworzenia tablicy, aby Chrome był zmuszony wyświetlić ją jako obiekt ... Dzięki!
pimvdb

Świetna, prosta odpowiedź. Przez „najstarszy” gatunek był we włosach po drugim, stąd akceptuję, ale wielkie dzięki!
Ben Flynn,

Bez problemów. Nie mam nic przeciwko temu, która zostanie zaakceptowana, ale zaakceptowana odpowiedź powinna być później najbardziej pomocna dla innych.
Ross

1

Przeglądarka drukuje tylko część html, możesz umieścić element w obiekcie, aby zobaczyć strukturę kopuły.

console.log({element})
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.