2013-06-04 8 views
30

का समर्थन नहीं करता मैं document.querySelectorAll() उपयोग करने के लिए कोशिश की, लेकिन IE8 त्रुटि फेंक, किIE8 querySelectorAll

वस्तु इस संपत्ति या विधि

var titleCheckBox = document.querySelectorAll(""); 

यहाँ http://www.quirksmode.org/dom/w3c_core.html#t13 लिखा समर्थन नहीं करता, कि IE8 इस विधि का समर्थन करें। मैं क्या गलत कर रहा हूँ?

उत्तर

51

चेक करें कि आपका पृष्ठ क्वर्क्स मोड या संगतता मोड में नहीं है। आप इसकी पुष्टि करने के लिए एफ 12 देव उपकरण का उपयोग कर सकते हैं। F12 दबाएं और परिणामी विंडो के ऊपरी-दाएं कोने में देखें। आप "संगतता" या "क्वर्क्स" मोड विवरण में दिखाई देता है, तो आप समस्या पाया है।

  • क्वर्क्स मोड: यह आम तौर पर एक लापता या टूट Doctype से शुरू हो रहा है।

    <!DOCTYPE html> 
    
  • संगतता मोड (IE7 मोड): यदि यह मामला है, सुनिश्चित करें कि आपके पेज निम्नलिखित के साथ शुरू होता बनाने अगर आप पेज को स्थानीय रूप से देखी जा रही शुरू किया जा सकता है (यानी यह, पर चलने वाले स्थानीय मशीन, उदाहरण के लिए परीक्षण, या अपने स्थानीय नेटवर्क पर)। इस मामले में, आपको एक आईई कॉन्फ़िगरेशन सेटिंग द्वारा मारा जा रहा है जिसे आपको अक्षम करना चाहिए। टूल्स मेनू पर जाएं, और कॉम्पटिबिलिटी व्यू सेटिंग्स विकल्प चुनें। संगतता विकल्पों को अनचेक करें, और पृष्ठ को काम करना शुरू करना चाहिए।

    Compat मोड भी एक X-UA-Compatibility मेटा टैग से शुरू हो रहा हो सकता है (या बचा)। आप संगतता मोड में समस्या आ रही है, तो यह एक अच्छा तरीका यह से बचने के लिए है: अपने कोड में निम्न पंक्ति जोड़ें: ऊपर की

    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    

या तो (या दोनों) समस्या हो सकती है, लेकिन मेरा अनुमान है कि समस्या संगतता मोड है। कॉम्पैट-मोड-ऑन-इंट्रानेट-साइट सेटिंग आश्चर्यजनक रूप से कम ज्ञात है, और यहां तक ​​कि कुछ अनुभवी डेवलपर्स भी बहुत से लोगों को पकड़ती है।

+1

संगतता दृश्य के बारे में अच्छा बिंदु - मेरा मानना ​​है कि आईई उस मोड में भी वही त्रुटि फेंकता है, अगर वास्तव में यह वहां काम नहीं करता है। – BoltClock

+0

धन्यवाद, संगतता समस्या फिक्स ने मुझे IE –

+0

में एक Jquery डेटपिकर समस्या को हल करने में मदद की है। मुझे यह समस्या थी कि '' टैग ' 'और' ' टैग के बीच था, इसलिए बस सुनिश्चित करें कि आपकी HTML संरचना मान्य है। – mrzmyr

12

IE8 केवल मानकों मोड में querySelectorAll() का समर्थन करता है। MSDN से:

चयनकर्ता एपीआई Selectors API विवरण के एक हिस्से के रूप में परिभाषित है और केवल वेब पृष्ठों IE8 मानकों मोड में प्रदर्शित करने के लिए उपलब्ध है।

संभावना है कि आपके पृष्ठ में उचित DOCTYPE घोषणा नहीं है; आपको एक जोड़ना होगा।

+3

भी, यह केवल सीएसएस 2 चयनकर्ताओं का उपयोग कर डोम नोड्स का चयन करेंगे। –

+0

नहीं, यह जो भी चयनकर्ताओं का समर्थन करता है का उपयोग कर नोड्स चयन करता है। कुछ CSS3 चयनकर्ता IE8 द्वारा समर्थित हैं, सभी विशेषता चयनकर्ताओं और '~' संयोजक समेत। – BoltClock