Я использую функцию js для изменения класса и текста li в моем html-документе. Он работает отлично в каждом браузере, кроме IE8 и IE7. Я не отвечаю. Это просто простая функция. Я не понимаю, где это сделать.
В параметре group я передаю объект javascript, например:
var group = {
0: {
class: "classname1",
text: "mytext"
},
2: {
removeClass: "classname2",
text: 'mytext2'
},
remove: [4, 5]
}
if (! Array.isArray) {Array.isArray = function (vArg) {return Object.prototype.toString.call(vArg) === "[object Array]"; }; }; }
function xyz(group, parent) {
$.each(group, function (key, val) {
if (Array.isArray(val)) {
var $lis = $(parent).find("li");
for (var i = $lis.length - 1; i >= 0; i--) {
if (val.indexOf(i) > -1) $lis.eq(i).remove();
}
} else {
$(parent).find('li').eq(key).removeClass(val.removeClass).addClass(val.class).text(val.text)
}
})
}
Array.isArray
поддерживается только в IE9 и выше.
Поместите это перед своим кодом, чтобы поддерживать более старые версии IE:
if(!Array.isArray) {
Array.isArray = function (vArg) {
return Object.prototype.toString.call(vArg) === "[object Array]";
};
}
Источник: MDN
Из Microsoft Array.isArray() не поддерживается до IE9+.
Ссылка: http://msdn.microsoft.com/en-us/library/ie/ff848265(v=vs.94).aspx