2010-09-19 11 views
15

IE7 और IE8 दे मुझे मेरे सरणी (सफारी, क्रोम, फायरफॉक्स काम) ब्याह नहीं कर रहे हैं: "वस्तु इस संपत्ति का समर्थन नहीं करता या:सरणी जोड़ IE में त्रुटि फेंकता

 lzaCreateAd1.weatherArray = new Array(); 
     var jWeatherIcon = $('.weatherIcon'); 

     jWeatherIcon.bind('click', function(){ 
      var targetID = $(this).attr('id') + 'Box', 
      idVal = targetID.substr(5,1); 

      var jTargetBox = $('#'+targetID); 

      if (jTargetBox.hasClass('inactive')) { 
       jTargetBox.removeClass('inactive').addClass('active'); 
       lzaCreateAd1.weatherArray.push(idVal); 
      } else if (jTargetBox.hasClass('active')) { 
       jTargetBox.removeClass('active').addClass('inactive'); 
       lzaCreateAd1.weatherArray.splice(lzaCreateAd1.weatherArray.indexOf(idVal),1); 
      } 
     }); 

आईई निम्न त्रुटि फेंकता इस लाइन के लिए विधि ":

lzaCreateAd1.weatherArray.splice(lzaCreateAd1.weatherArray.indexOf(idVal),1);

कोई भी विचार? या किसी सरणी आइटम को मूल्य से निकालने के अन्य तरीके? अग्रिम में धन्यवाद!

उत्तर

29

Array.indexOf संस्करण 9 से पहले इंटरनेट एक्सप्लोरर द्वारा समर्थित नहीं है। आप jQuery के $.inArray उपयोगिता फ़ंक्शन, या इसके बजाय इच्छित किसी अन्य शिम/पॉलीफिल का उपयोग कर सकते हैं।

lzaCreateAd1.weatherArray.splice($.inArray(idVal, lzaCreateAd1.weatherArray) ,1); 

देखें: http://api.jquery.com/jQuery.inArray/

+0

धन्यवाद यी जियांग! – Kyle

+9

फिर भी एक और कारण है कि आईई कई वेब-डेल्पर के अस्तित्व का झुकाव क्यों है। धन्यवाद! – exoboy

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