2011-11-15 18 views
8

$(this).data("events");[object Object] पर लौटने के साथ, मुझे यह देखने की ज़रूरत है कि वास्तव में वहां क्या चल रहा है।प्रदर्शन ऑब्जेक्ट सामग्री - जेएस/jQuery

var Finder = ""; 
$.each($(this).data("events"), function(i, n){ 
    Finder += "Name: " + i + ", Value: " + n + " | "; 
}); 

हालांकि, n अभी भी रिटर्न [object Object]:: मैं इस पाया

संपादित करें: (आउटपुट) -

Name: click, Value: [object Object] | 

-

वहाँ सब कुछ दिखाने के लिए एक कारगर तरीका है उस चूसने वाले के अंदर, PHP में print_r की तरह?

उत्तर

15

console.log($(this).data("events")) क्रोम (या अन्य ब्राउज़रों) में आप ऑब्जेक्ट में ड्रिल करने की अनुमति देंगे।

Ctrl + Shift + J आपको क्रोम में कंसोल पर ले जाता है।

+0

यह मेरे लिए काम करेगा, धन्यवाद! :) मैं टाइमर पर स्वीकार करूंगा। – Matt

12

आप जावास्क्रिप्ट ऑब्जेक्ट्स को स्ट्रिंग प्रस्तुति में बदलने के लिए .toSource() का उपयोग कर सकते हैं, जिसे आप फायरबग या क्रोम देव जैसे अच्छे त्रुटि कंसोल के बिना देख सकते हैं। उपकरण:

alert($(this).data("events").toSource()); 
+1

मैंने देखा कि आपके पास पहले 'toString() 'था ... वास्तव में एक बेहतर समाधान था, क्योंकि यह अधिकांश ब्राउज़रों पर काम करेगा, जहां' toSource()' IE में काम नहीं करेगा। –

+0

मैंने लगभग अपना जवाब हटा दिया क्योंकि मैं 'toString()' और 'toSource()' के बीच के अंतर को समझा नहीं सकता। यदि कोई जानता है कि उन्हें अच्छा लगेगा तो – Jasper

+1

जो मैं समझता हूं, 'toSource() '' ऑब्जेक्ट' को 'JSON' स्वरूपण में परिवर्तित कर देगा। डब्ल्यू 3 सी: "टूसोर्स() विधि ऑब्जेक्ट के स्रोत कोड का प्रतिनिधित्व करती है।" (http://www.w3schools.com/jsref/jsref_toSource_date.asp) ऐसा लगता है कि 'JSON' आउटपुट वास्तव में यहां कुंजी है। – Matt

3

आप console.log तो alert($(this).data("events").toSource()) भी इस्तेमाल किया जा सकता उपयोग नहीं कर सकते। वस्तु की

1

प्रिंट सामग्री आप उपयोग

console.log(obj_str); 

आप नीचे दिए गए जैसे कंसोल में परिणाम देख सकते हैं कर सकते हैं।

Object {description: "test"} 

क्रोम ब्राउज़र में खुले कंसोल प्रेस F12 के लिए, आपको डीबग मोड में कंसोल टैब मिलेगा।

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