2012-10-03 19 views
6

मैं एक और डेवलपर्स कोड डिबग करने के लिए कोशिश कर रहा हूँ, और मैं मुझे के जीवन के लिए बाहर नहीं लगा सकते हैं क्या इस चर में संग्रहीत किया जा रहा है:इस jQuery चयनकर्ता समझाओ?

var dl = $("<dl>",{class: 'my_class'}); 

यह पंक्ति "प्रत्याशित पहचानकर्ता, स्ट्रिंग पैदा कर रहा है या संख्या "आईई 8 और निचले हिस्से में त्रुटि संदेश, लेकिन अन्य ब्राउज़रों में से कोई भी नहीं, और मैं यह समझने की कोशिश कर रहा हूं कि अलग-अलग वाक्यविन्यास के साथ, मैं एक ही चीज़ को पूरा कर सकता हूं।

किसी भी सलाह की सराहना की जाएगी।

उत्तर

8

यह my_class के मान के साथ class विशेषता के साथ dl तत्व (jQuery ऑब्जेक्ट में लपेटा गया) बना रहा है। फ़ंक्शन के इस फ़ॉर्म के बारे में अधिक जानकारी के लिए jQuery docs देखें।

आपको त्रुटि मिलती है क्योंकि class जावास्क्रिप्ट में एक आरक्षित शब्द है। वैकल्पिक रूप से

var dl = $("<dl>", { "class": "my_class" }); 

, आप className संपत्ति बजाय सेट कर सकते हैं (जो आप किसी भी ब्राउज़र में उद्धृत करने के लिए नहीं होगा):: आप इसे के हवाले से उसे ठीक कर सकते

var dl = $("<dl>", { className: "my_class" }); 

ध्यान दें कि ES5 कल्पना कहते हैं कि आप आरक्षित शब्दों का उपयोग संपत्ति के नाम के रूप में कर सकते हैं। लेकिन चूंकि आपको स्पष्ट रूप से आईई के पुराने संस्करणों का समर्थन करने की आवश्यकता है, इसलिए आपको इसके बारे में भूल जाना होगा और वैसे भी उन्हें उद्धृत करना होगा। तुम सिर्फ संस्करण 9 नीचे आईई के लिए समर्थन छोड़, तो आप पूरी तरह से अपना कोड बदलने की जरूरत नहीं होगी;)

2

class जावास्क्रिप्ट में एक आरक्षित शब्द है, तो आप उद्धरण के साथ लपेट चाहिए:

var dl = $("<dl/>",{'class': 'my_class'}); 
संबंधित मुद्दे