我一直在寻找一种搜索同一类的所有元素并删除所有
的方法,因为这些元素会导致我的页面布局出现不必要的间隙。
最初,我使用以下代码:
var el = document.querySelector('.offer');
el.innerHTML = el.innerHTML.replace(' ', '');
但这只会找到
offer
类的第一个节点,因此没有太大用处。 最佳答案
我之所以回答自己的问题,是因为我不得不从这里以及其他网站上的许多帖子中整理出来,希望它对我所处位置的其他人有所帮助。
首先,我需要使用.queryselectorAll
而不是.querySelector
返回具有offer
类的所有元素。
但是,由于.queryselectorAll
返回一串节点而不是它遇到的第一个节点,所以下一行将不起作用。
el.innerHTML = el.innerHTML.replace(' ', '');
解决方案是遍历每个元素并替换每个
实例var el = document.querySelectorAll('.offer');
for(var i = 0; i < el.length; i++){
el[i].innerHTML = el[i].innerHTML.replace(' ', '');
}