45

Google क्रोम का उपयोग करके, यदि आप console.log ऑब्जेक्ट करते हैं, तो यह आपको कंसोल में तत्व का निरीक्षण करने देता है। उदाहरण के लिए:मैं एक HTML तत्व को जावास्क्रिप्ट ऑब्जेक्ट के रूप में कैसे लॉग कर सकता हूं?

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

यह Object जो उसके बगल में तीर पर क्लिक करके निरीक्षण किया जा सकता है बाहर प्रिंट करता है।

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

यह <html></html> जो उसके बगल में तीर पर क्लिक करके निरीक्षण किया जा सकता है बाहर प्रिंट: लेकिन मैं एक HTMLElement लॉग इन करने का प्रयास करें। अगर मैं तत्व के डीओएम की बजाय जावास्क्रिप्ट ऑब्जेक्ट (इसकी विधियों और फ़ील्ड के साथ) देखना चाहता था, तो मैं यह कैसे करूँगा?

उत्तर

88

उपयोग 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 

आप कंसोल के अंदर पहले से ही कर रहे हैं, तो आप बस टाइप कर सकते हैं dir बजाय console.dir:

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

बस अलग-अलग संपत्ति के नाम (मान) के बिना सूचीबद्ध करने के लिए, आप Object.keys इस्तेमाल कर सकते हैं:

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

वहाँ हालांकि कोई सार्वजनिक console.keys() विधि, यदि आप कंसोल के अंदर पहले से ही कर रहे हैं , आप बस दर्ज कर सकते हैं:

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

यह कंसोल विंडो के बाहर काम नहीं करेगा, हालांकि।

+1

'console.log ("% O ", document.body); 'भी काम करता है – Viney

18

इस प्रयास करें:

console.dir(element) 

संदर्भ
[Video] Paul Irish on becoming a console power user.

+0

+1 मैं हमेशा एक सरणी बनाने के लिए '[[element]]' का उपयोग कर रहा था ताकि क्रोम को इसे ऑब्जेक्ट के रूप में प्रदर्शित करने के लिए मजबूर किया गया था ... धन्यवाद! – pimvdb

+0

यह फ़ायरफ़ॉक्स और सफारी में भी काम करता है। – Ross

+0

ग्रेट सीधा जवाब। दूसरे के बाद बालों में 'सबसे पुराना' प्रकार आया, इसलिए स्वीकार करें, लेकिन बहुत धन्यवाद! –

संबंधित मुद्दे

 संबंधित मुद्दे