2012-05-28 16 views
6

कभी-कभी मैं अपने सीएसएस का परीक्षण करने के लिए jquery का उपयोग करता हूं। और अक्सर मैं एक साधारण चयनकर्ता (क्रोम वेब डेवलपर कंसोल में)JQuery सीएसएस चयनकर्ता e.fn.e.init

मैं $('.topclass div') की तरह कुछ में टाइप करें और वापस

e.fn.e.init[125] 

एक जावास्क्रिप्ट object युक्त नोड्स के रूप में मिल जाएगा का उपयोग करेंगे। (आमतौर पर यह काफी जटिल चयनकर्ता है लेकिन कभी-कभी इसका सरल)।

मुझे यह क्यों मिलता है? क्या इसका मतलब है कि एक टैग गुम है या मेरा चयनकर्ता गलत है?

संपादित करें: एचटीएमएल मूल रूप से नीडिंत है divs (यह क्योंकि इसके हो रही अपने बच्चों को भी divs हो सकता है?)

उत्तर

5

इसका मतलब है कि अपने चयन भी कई मैचों में शामिल हैं और डेवलपर टूल कंसोल में उनका प्रतिनिधित्व छोटा।

कंसोल में इस प्रयास करें:

var a = [] 
for (var i = 0; i < 10; i++) { a.push('foobar'); } 

आप a का निरीक्षण करने के लिए प्रयास करें, तो आप ["foobar", "foobar", "foobar", "foobar", "foobar", "foobar", "foobar", "foobar", "foobar", "foobar"] देखेंगे। अब, कुछ और तत्वों को जोड़ने:

for (var i = 0; i < 100; i++) { a.push('foobar'); } 

अब, अगर आप यह निरीक्षण करने के लिए प्रयास करते हैं, आप Array[110] देखेंगे।

स्वाभाविक रूप से यह नहीं है कि आपका चयनकर्ता गलत है, लेकिन यदि आप कम तत्वों की अपेक्षा कर रहे हैं, तो यह गलत हो सकता है।

+0

हां, मैंने देखा कि मैंने इसे $ ('div') में बदल दिया है और यहां तक ​​कि एक उच्च संख्या भी प्राप्त की है, इसलिए यह होना चाहिए। मेरा चयनकर्ता तब स्पष्ट रूप से गलत है – Akshat

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