扫码关注官方订阅号
##### ##### ##### var arr = document..querySelectorAll('a.link1') arr.forEach( function(element, index) { console.log(element) });
上面这段代码在chrome下没问题,正确打印出:
而在Firefox下却报错了:
这是为什么?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
querySelectorAll返回的是NodeList对象,不是真正的数组,有的浏览器不支持,你需要把他转为真数组才能用forEach方法。
querySelectorAll
真数组
//ES5 var arr = Array.prototype.slice.call(document.querySelectorAll('a.link1')); //ES6 var arr = Array.from(document.querySelectorAll('a.link1')); //或者 var arr = [...document.querySelectorAll('a.link1')];
querySelectorAll 返回的是一个nodelist,不是一个数组 但是在chrome下面你可以用foreach 这个我也不是很懂为什么, 但是在firefox下面就不能了,建议都使用[].prototype.forEach.call(document.querySelectorAll('a.link1'),function(element, index){**})
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
querySelectorAll返回的是NodeList对象,不是真正的数组,有的浏览器不支持,你需要把他转为真数组才能用forEach方法。querySelectorAll 返回的是一个nodelist,不是一个数组 但是在chrome下面你可以用foreach 这个我也不是很懂为什么, 但是在firefox下面就不能了,建议都使用[].prototype.forEach.call(document.querySelectorAll('a.link1'),function(element, index){**})