从相同 class 的所有元素中删除

Delete   from all elements of the same class

我正在寻找一种方法来搜索相同 class 的所有元素并删除任何  ,因为这些元素会在我的页面布局中造成不必要的空白。

最初我使用这个代码:

var el = document.querySelector('.offer');
el.innerHTML = el.innerHTML.replace(' ', '');

但这只能找到 offer 的 class 的第一个节点,所以用处不大。

我正在回答我自己的问题,因为我必须从这里和其他网站上的许多帖子中拼凑出来,我希望它能帮助其他人。

首先,我需要使用 .queryselectorAll 而不是 .querySelector 来 return 所有具有 offer class.

的元素

但是下一行将不起作用,因为 .queryselectorAll return 是一串节点,而不仅仅是它遇到的第一个节点。

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('&nbsp;', '');
}