web-dev-qa-db-fra.com

IE: indexOf entraîne «l'objet ne prend pas en charge cette propriété ou cette méthode»

J'ai la déclaration if suivante:

if (buyArray.indexOf(dealWith,0) != -1){

Ce qui fait irruption (ie 8 sur XP) avec "l'objet ne supporte pas cette propriété ou méthode".

Quelqu'un a un travail à faire pour ça?

26
Fraser

oui, IE <9 ne prend pas en charge indexOf. Vous pouvez implémenter un shim comme celui montré ici: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf

Ou si vous utilisez déjà jQuery, vous pouvez utiliser inArray . souligné a également une implémentation pour cela.

53
ZER0

Simplement changé pour utiliser jQuery.inArray. Merci à ZER0 pour l'avertissement

if ($.inArray(dealWith, buyArray) != -1) {
20
Fraser