2008-11-30 20 views
10

सभी जांच के बाद क्या करना है, किसी भी विशेषता के लिए एक अनुमानित वैध वस्तु वापसी 'अपरिभाषित' है? मैं jQuery का उपयोग करता हूं, $('selector').mouseover(function() { }); फ़ंक्शन स्कोप के अंदर $(this) के लिए सब कुछ 'अपरिभाषित' लौटाता है। चयनकर्ता मानचित्र टैग के लिए 'क्षेत्र' है और मैं इसके मूल गुणों की तलाश में हूं।जावास्क्रिप्ट ऑब्जेक्ट आत्मनिरीक्षण कैसे करें?

उत्तर

23

आपका प्रश्न थोड़ा अस्पष्ट है, तो शायद आप अधिक जानकारी प्रदान कर सकते हैं?

किसी ऑब्जेक्ट और उसके गुणों के मूल्यों के बारे में जानने के लिए, फ़ायरबग या कुछ अन्य डिबग टूल आदि का उपयोग करने के कई तरीके हैं, यहां एक त्वरित और गंदा कार्य है जो आपको प्रारंभ करने में मदद कर सकता है जब तक आप अधिक जानकारी प्रदान कर सकते हैं:

function listProperties(obj) { 
    var propList = ""; 
    for(var propName in obj) { 
     if(typeof(obj[propName]) != "undefined") { 
     propList += (propName + ", "); 
     } 
    } 
    alert(propList); 
} 

कि ऑब्जेक्ट के गुणों है कि आप इसे पारित कि undefined नहीं हैं की एक सूची प्रदर्शित करेगा।

आशा है कि मदद करता है ...

+0

Firefox में आप कर सकते हैं बस एक वस्तु पर toSource() कहते हैं: var o = {"म्यू": "गाय", "वाह", "कुत्ता"}; o.toSource(); // "({moo:" cow ", woof:" dog "})" –

+2

या, उस मामले के लिए, अब अंतर्निहित JSON ऑब्जेक्ट का उपयोग करें और उस पर स्ट्रिंगिफ़ाई() को कॉल करें - परिणाम थोड़ा सा हैं अलग, लेकिन ज्यादा नहीं। https://developer.mozilla.org/En/Using_native_JSON –

+1

महान त्वरित आत्मनिरीक्षण उपकरण !!! – jsh

0

selector तत्व का नाम है? तो फिर आप इसे के रूप में उल्लेख करना चाहिए:

$('area#selector') 

या

$('#selector') 

अन्यथा यह (न के बराबर) "चयनकर्ता" एचटीएमएल टैग के लिए देखो और, करने के लिए स्पष्ट रूप से, यह नहीं मिल का प्रयास करेंगे।

+0

हां, सही नोटेशन का उपयोग किया गया था: $ ('# myarea') जहां क्षेत्र टैग के लिए id = 'myarea'। धन्यवाद। – Florin

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