我正在使用js函数来更改我的html文档中li的类和文本。它在除IE8和IE7之外的每个浏览器中都能正常工作。我不知道是什么回应。这只是一个简单的功能。我没有得到任何线索谷歌它。
在组参数中,我传递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)
}
})
}
答案 0 :(得分:4)
Array.isArray
仅在IE9及更高版本中受支持。
将此代码放在代码前面以支持旧版本的IE:
if(!Array.isArray) {
Array.isArray = function (vArg) {
return Object.prototype.toString.call(vArg) === "[object Array]";
};
}
来源:MDN
答案 1 :(得分:0)
从Microsoft,IE9 +。
之前不支持Array.isArray()参考:http://msdn.microsoft.com/en-us/library/ie/ff848265(v=vs.94).aspx