[英]array.splice() gives error TypeError: arr.splice is not a function(…)
從querySelectorAll
返回的對象是NodeList
,它類似於 Array,但不是實際的數組。
嘗試將其轉換為數組:
[].slice.call(document.querySelectorAll("a[href*='somestring']"));
HTMLCollection和NodeList對象沒有splice
方法,也不繼承自Array.prototype
。
此外,你不能簡單地調用拼接上他們,因為他們不是在設計,即使它們是類似數組進行修改。
首先,將它們轉換為真正的Array 。
var arr = document.querySelectorAll("a[href*='somestring']"); // NodeList
arr = Array.prototype.slice.call(arr); // Array
arr.splice(2, 2); // splicing an Array
document.querySelectorAll("a[href*='somestring']")
返回一個不是數組的對象。
嘗試將其轉換為數組:
var arr = document.querySelectorAll("a[href*='somestring']");
var a = [];
for(var i =0;i<arr.length ; i++){
a[i] = arr[i];
}
a.splice()//now you can use a as an array
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.