2011-10-13 30 views
12

Đây là điều gì đó đã khiến tôi mất nhiều thời gian. Khi tôi console.log một nút DOM (được trả về bởi ví dụ từ document.getElementById), nó xuất hiện dưới dạng một phần tử html tương tác, vì nó sẽ xuất hiện trên tab "Yếu tố". Điều này có thể được thuận tiện cho chắc chắn, nhưng có những lúc tôi chỉ muốn có thể mở rộng đối tượng và xem tất cả các thuộc tính của nó, giống như tôi có thể làm cho mọi loại đối tượng khác mà tôi đăng nhập vào giao diện điều khiển. Quay lại đầu trangSafari/WebKit console.log Nút DOM là đối tượng?

bất kỳ cách nào tôi có thể nhận nút DOM để hiển thị trong bảng điều khiển dưới dạng đối tượng thông thường không ??

Trả lời

24

Sử dụng console.dir thay vì console.log.

console.log(document.body); 
<body class="question-page">...</body> 

console.dir(document.body); 
> HTMLBodyElement 
    aLink: "" 
    attributes: NamedNodeMap 
    background: "" 
    ... 

From the Firebug docs:

console.dir (object)

In một danh sách tương tác của tất cả các thuộc tính của đối tượng. Điều này trông giống hệt với chế độ xem mà bạn sẽ thấy trong tab DOM.

Chrome hỗ trợ console.dir là tốt, as shown here(không hiển thị như một tài sản của console, nhưng nó có sẵn).

enter image description here

+0

Tuyệt vời! Mặc dù tìm kiếm của tôi và đọc qua tài liệu của Apple, console.dir không được đề cập ở bất cứ đâu, nhưng nó hoạt động hoàn hảo! – devios1

+1

@chaiguy: Tôi phải thừa nhận, tôi rất vui vì bạn đã đặt câu hỏi này. Tôi đã luôn luôn tự hỏi điều tương tự, nhưng không bao giờ tìm kiếm xung quanh cho nó. Tôi sẽ luôn luôn bao bọc các phần tử của tôi trong mảng, như '[[document.body]]'. Điều này làm việc, nhưng bạn cần phải mở rộng mảng bên trong để có được đối tượng phần tử. 'dir' đẹp hơn nhiều! : o) – user113716

+0

Điều trớ trêu là tôi có thể chỉ có giao diện điều khiển 'đăng nhập' và kiểm tra nguyên mẫu của nó. Tôi thích JavaScript. :) – devios1

Các vấn đề liên quan