我收到错误tweetParentsArray.splice不是一个函数 在injectFactCheck
function injectFactCheck(){
var index = 5;
var tweetParentsArray = document.getElementsByClassName("js-stream-tweet");
if(tweetParentsArray.length == 0){return;}
tweetParentsArray.splice(0, index);
当我在console.log中时,tweetParentsArray对我来说似乎是一个正常的数组,所以我不确定为什么这个函数不存在于这个对象上。
答案 0 :(得分:1)
document.getElementsByClassName返回不是数组的HTMLCollection。您可以使用Array.prototype.slice.call(htmlCollection)
将其转换为数组,然后使用数组执行进一步计算。
function injectFactCheck(){
var index = 5;
var htmlCollection = document.getElementsByClassName("js-stream-tweet");
var tweetParentsArray = Array.prototype.slice.call(htmlCollection);
if (tweetParentsArray.length == 0){return;}
tweetParentsArray.splice(0, index);
}
在此问题中查看更多内容:Most efficient way to convert an HTMLCollection to an Array
答案 1 :(得分:0)
UIPageViewController
返回HTMLCollection。它没有拼接方法。
您可以将HTMLCollection转换为数组以使用splice方法。
getElementsByClassName
答案 2 :(得分:0)
这实际上是一个HTMLCollection,它是"类似数组"。有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/API/HTMLCollection。