2015-10-15 63 views
0

我正在尋找一種方法來搜索同一類的所有元素,並刪除任何 ,因爲這些元素在我的頁面佈局中導致不需要的間隙。從同一類的所有元素中刪除 

起初我用這個代碼:

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

但這隻能找到與類的offer的第一個節點等是沒有多大用處。

回答

1

我在回答我自己的問題,因爲我不得不從這裏的許多帖子以及其他網站將它拼湊在一起,我希望它可以幫助其他人在我的位置。

首先,我需要使用.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('&nbsp;', ''); 
} 
+1

使用正則表達式的每個實例來代替空間出現的所有 – Tushar

+0

你能給我如何使用正則表達式這樣的例子? – Pixelomo

+2

'str.replace(/  /gi,'');',參見[**正則表達式解釋和演示**](https://regex101.com/r/mO4bQ9/1) – Tushar