Select 使用 getElementsByTagName() 的所有标签实例? (篡改猴子)
Select all tag instances by using getElementsByTagName() ? (tamper monkey)
我正在为一个古老的网站编写 JS,HTML,DOM 脚本(使用 Tamper Monkey)。
想法是使用 bootstrap 并格式化一些表格和列表。
这些表、列表等没有 class、id 或任何东西。
所以我通过标签名抓取并添加class名称。
我一次只能 select 1 个标签实例。
示例
document.getElementsByTagName('ul')[0].className = 'list-group';
('ul')[0] 给出一审。
它不适用于 ('ul')。
我想一次抓取 ul 的每个实例。
注意:我试过了document.querySelectorAll('ul').className = '';
不工作。我想给所有 ul 相同的 class 名称。
您需要将 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')
我正在为一个古老的网站编写 JS,HTML,DOM 脚本(使用 Tamper Monkey)。
想法是使用 bootstrap 并格式化一些表格和列表。
这些表、列表等没有 class、id 或任何东西。
所以我通过标签名抓取并添加class名称。
我一次只能 select 1 个标签实例。
示例
document.getElementsByTagName('ul')[0].className = 'list-group';
('ul')[0] 给出一审。
它不适用于 ('ul')。
我想一次抓取 ul 的每个实例。
注意:我试过了document.querySelectorAll('ul').className = '';
不工作。我想给所有 ul 相同的 class 名称。
您需要将 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')