2014-02-14 2 views
4

Я использовал IndexOf, чтобы проверить, есть ли я конкретный текст присутствует в предложении или не нравится следующаяЧто такое альтернативная функция для indexOf для строки в IE8?

var temp = ""; 
temp="data not available"; 
if(temp.indexOf("datas") == 0){ 
    alert("True"); 
} 
else{ 
    alert("false"); 
} 

Проблема я столкнулся в IndexOf не поддерживается в Internet Explorer 8 , Как выполнить эту операцию в IE8? Есть ли альтернативные функции по умолчанию в jquery?

Я пробовал inArray, но он поддерживает только массив.

fiddle

+0

добавьте его как [данный] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf) –

+0

Одно из решений приведено здесь, https: // developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf – Adil

+0

вы можете найти ответ так: http://stackoverflow.com/questions/9768574/no-support-for-indexof- в-ie-8 –

ответ

14

Я думаю, что вы запутались который поддерживает indexOf().

Вы используете String.prototype.indexOf(), который поддерживается с IE6 и далее, согласно Microsoft's documentation.

Это Array.prototype.indexOf(), что поддерживается только IE9.

+1

Спасибо за ответ. Как использовать String.prototype.indexOf()? не могли бы вы привести мне пример. Я был так смущен. –

+0

@PandiyanCool Вам ничего не нужно менять; он будет работать так, как вы. Хотя, я не уверен, что должен делать код. –

+0

, когда я запускаю код, он показывает ошибку на странице в IE8. Сообщение: Объект не поддерживает это свойство или метод –

0

Вы можете использовать String.search:

var temp = "data not available"; 
if(!temp.search("datas")){ 
    alert("True"); 
} else { 
    alert("false"); 
} 

Fiddle

(NB: У меня нет IE8, чтобы проверить его)

Смежные вопросы