我正在使用js函数更改html文档中li的类和文本。它在除IE8和IE7之外的所有浏览器中都能正常工作。我不回应。这只是一个简单的功能。我没有任何线索去哪里搜索它。

在组参数中,我通过javascript对象,如:

var group = {
    0: {
        class: "classname1",
        text: "mytext"
    },
    2: {
        removeClass: "classname2",
        text: 'mytext2'
    },
    remove: [4, 5]
}


如果(!Array.isArray){
        Array.isArray = function(vArg){
            返回Object.prototype.toString.call(vArg)===“ [对象数组]”;
        };
    }

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

09-27 03:58