使用getElementsByTagName()选择所有标记实例? (篡改猴子)

时间:2020-07-06 07:05:08

标签: javascript dom tampermonkey userscripts getelementsbytagname

  • 我正在为一个古老的网站编写JS,HTML,DOM脚本(使用Tamper Monkey)。

  • 这个想法是使用引导程序并格式化一些表和列表。

  • 这些表,列表等没有类,id或任何东西。

  • 所以我用标签名抓住它,并在其中添加类名。

  • 我一次只能选择1个标签实例。

示例

document.getElementsByTagName('ul')[0].className = 'list-group';

('ul')[0]给出第一例。

仅对('ul')无效。

我想一次获取ul的每个实例。

注意:我尝试了document.querySelectorAll('ul').className = '';

不起作用。我要给所有ul相同的班级名称。

1 个答案:

答案 0 :(得分:1)

您需要将querySelectorAll的结果转换为数组,并在其上应用forEach函数:

const elementsCollection = document.getElementsByTagName('ul')
const elementsArray = Array.from(elementsCollection)
elementsArray.forEach(el => el.className = 'foo')

或者,如果您想使用querySelectorAll

const elementsArray = document.querySelectorAll('ul')
elementsArray.forEach(el => el.className = 'foo')