Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Safari扩展中的DOM修改_Javascript_Dom_Safari Extension - Fatal编程技术网

Javascript Safari扩展中的DOM修改

Javascript Safari扩展中的DOM修改,javascript,dom,safari-extension,Javascript,Dom,Safari Extension,我尝试编写一个Safari扩展,它用表将网站上的一些数据可视化。因此,为了计算数据,我使用了一些JavaScript: var table; table = document.body.getElementsByClassName('summary'); console.log(table); var rows = table.getElementsByTagName('tr'); console.log(rows); 第二行可以正常工作,但第五行出现以下错误: TypeError:“und

我尝试编写一个Safari扩展,它用表将网站上的一些数据可视化。因此,为了计算数据,我使用了一些JavaScript:

var table;
table = document.body.getElementsByClassName('summary');
console.log(table);

var rows = table.getElementsByTagName('tr');
console.log(rows);
第二行可以正常工作,但第五行出现以下错误:

TypeError:“undefined”不是函数(正在计算“table.getElementsByTagName('tr'))

为什么呢?使用此代码:

document.body.getElementsByClassName('summary').getElementsByTagName('tr');
都一样


我的错误是什么?

GetElementsByCassName
此方法返回数组,因此您需要从该数组中选择表:
var rows=表[0]。getElementsByTagName('tr')
如果第一个找到的表是您需要的,但第二行中似乎找不到表。

getElementsByClassName
此方法返回数组,因此您需要从此数组中选择表:
var rows=表[0]。getElementsByTagName('tr')如果第一个找到的表是您需要的,但第二行中似乎找不到表。

就是这样!非常感谢你!我意识到我的JavaScript还不太好。:-)次要更正:GetElementsByCassName的结果不是一个真正的数组,而是一个类似数组的对象。不要试图在节点列表上使用像pop和forEach这样的数组方法。就是这样!非常感谢你!我意识到我的JavaScript还不太好。:-)次要更正:GetElementsByCassName的结果不是一个真正的数组,而是一个类似数组的对象。不要试图在节点列表上使用pop和forEach等数组方法。