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.