我正在尝试使此Google Chrome扩展程序仅在后台运行,并且最终用户无需与之交互,也无需单击任何选项。假设网页中有类似以下内容的元素。
<tr>
<td class="chart">
<a>Intel Xeon Silver 4123 @ 3.00GHz</a>
</td>
</tr>
当用户访问此网页时,扩展程序应自动删除整个
if (document.getElementsByClassName('chart').innerHTML.contains('Xeon')) {
document.getElementByClassName('chart').style.display = 'none';
}
答案 0 :(得分:1)
代码document.getElementsByClassName('chart')
返回HTMLCollection
而不是DOM Element
。您必须遍历数组中的每个元素,即:
var charts = document.getElementsByClassName('chart');
if(charts.length) {
for(var i=0; i<charts.length; i++) {
if(charts[i].tagName === 'TD' && charts[i].innerHTML.includes('Xeon')) {
charts[i].parentNode.style.display = 'none';
}
}
}
还请注意:
getElementsByClassName()
(元素复数)而不是getElementByClassName()
(单数)。String.includes()
而不是String.contains()
parentNode
隐藏整个行