मैं जावास्क्रिप्ट तत्व के रूप में एक HTML तत्व कैसे लॉग कर सकता हूं?


90

Google Chrome का उपयोग करना, यदि आप console.logएक वस्तु हैं, तो यह आपको कंसोल में तत्व का निरीक्षण करने देता है। उदाहरण के लिए:

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

यह प्रिंट करता है, Objectजिसे इसके बगल में तीर पर क्लिक करके निरीक्षण किया जा सकता है। हालांकि अगर मैं एक HTMLElement लॉग इन करने की कोशिश करता हूं:

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

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

जवाबों:


165

उपयोग करें 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

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


जब मैं कंसोल.dir () का उपयोग सीधे कंसोल में करता हूं, तो यह काम करता है। लेकिन अगर मैं इसे वी.एस. कोड में अपने वास्तविक .js फ़ाइल में लिखता हूं, तो क्रोम देव कंसोल केवल उस फ़ाइल का नाम लॉग करता है जिसे यह और लाइन नंबर लिखा गया था। ऐसा क्यों होता है?
मैया

27

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

बड़ा सीधा सा जवाब। 'पुराने' प्रकार से एक के बाद एक बाल आते हैं, इसलिए स्वीकार करते हैं, लेकिन बहुत धन्यवाद!
बेन फ्लिन

कोई समस्या नहीं। मुझे कोई आपत्ति नहीं है जो स्वीकार की जाती है, लेकिन बाद में स्वीकार किया गया उत्तर दूसरों के लिए सबसे अधिक उपयोगी होना चाहिए।
रोस

2

ब्राउज़र प्रिंट केवल html भाग है, आप गुंबद संरचना को देखने के लिए तत्व को एक वस्तु में रख सकते हैं।

console.log({element})
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.