45

Google Chrome'u kullanarak, bir nesneyi console.log kullanırsanız, öğeyi konsolda incelemenizi sağlar. Örneğin:Bir HTML öğesini bir JavaScript nesnesi olarak nasıl kaydedebilirim?

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

Bu yanındaki oklara tıklayarak kontrol edilebilir Object yazdırır.

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

Bu yanındaki oklara tıklayarak kontrol edilebilir <html></html> yazdırır: ancak bir HTMLElement oturum açmaya edin. Öğenin sadece DOM'si yerine JavaScript nesnesini (yöntemleri ve alanları ile) görmek istesem nasıl yapardım?

cevap

88

kullanın console.dir: Zaten konsola İçerideyseniz

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 

, sadece dir tip yerine verebilir console.dir:

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

basitçe (değerler olmadan) farklı özellik adlarını listelemek için, Object.keys kullanabilirsiniz:

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

hiçbir kamu console.keys() yöntemi var olsa bile, zaten konsolun içine iseniz Ancak, girebilirsiniz:

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

Bu, konsol penceresinin dışında çalışmayacaktır.

+1

'console.log ("% O ", document.body);' de çalışıyor – Viney

18

bu deneyin:

console.dir(element) 

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

+0

+1 Chrome'u bir nesne olarak görüntülemek zorunda kaldığı için bir dizi oluşturmak için daima [[element]] 'kullanıyordum ... Teşekkürler! – pimvdb

+0

Bu Firefox ve Safari'de de çok çalışır. – Ross

+0

Harika bir cevap. 'En eski' türüne göre, diğerinden sonra bir saç çıktı, dolayısıyla kabul edildi, ama çok teşekkürler! –