IE11不兼容array.from()解决方法

在前端开发中,遇到一个方法在Chrome上运行正常,但在IE11上出现错误。经排查,发现IE11不支持Array.from()。为了解决这个问题,尝试了网上的多种方案,最终通过MDN文档找到兼容性解决方案。
摘要由CSDN通过智能技术生成
function selectAll(){  
	let check = Array.from(document.getElementsByClassName("chk"));
	check.forEach(function(i){
		if(i.classList.contains("checkbox_false_full")){
			i.click();
		}
	});
}

前端页面写了个方法,在chorme上可以使用,但在ie上无法使用,查了下资料,发现IE11不兼容array.from方法,网上找了几个方法:

if(!Array.from){
    Array.from = function(iterable){
        // IE(包括IE11)没有这个方法,用[].slice.call(new Uint8Array..代替
        return [].slice.call(new Uint8Array(iterable));
    }
}

一开始找到了这个方法,但是并未成功,没有深究原因。

// Production steps of ECMA-262, Edition 6, 22.1.2.1
// Reference: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.from
if (!Array.from) {
  Array.from = (function () {
    var toStr = Object.prototype.toString;
    var isCallable = function (fn) {
      return typeof fn === 'function&#
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值