2016-02-08 60 views
-3

字符串我有這個字符串:替換的JavaScript

1<div>2</div><div>3</div><div>4</div> 

,如果我替換值

var descriptionVal = desc.replace('<div>', '-').replace('</div>', '-'); 

它只會取代第一個div

1-2</div><div>3</div><div>4</div> 

如何更換所有的div ?

+0

使用全局標誌 – joyBlanks

+0

的可能的複製[爲什麼不JavaScript的在Chrome或IE代替全局標誌工作,以及如何我解決它?(http://stackoverflow.com/questions/4981501 /爲什麼 - 犯規 - 在JavaScript的替換全局標誌,工作在鉻或-IE-和如何做) –

回答

2

您必須使用正則表達式來替換。您可以使用帶有全局標誌greplace函數。結帳以下解決方案:

var descriptionVal = desc.replace(/<div>/g, '-').replace(/<\/div>/g, '-'); 

工作例如:

var str = "1<div>2</div><div>3</div><div>4</div>"; 
 
str = str.replace(/<div>/g, '-').replace(/<\/div>/g, '-'); 
 
document.write(str);

用一個簡單的字符串替換,就像你的榜樣,只有每個replace功能中第一次出現將是替換爲:

var str = "1<div>2</div><div>3</div><div>4</div>"; 
 
str = str.replace('<div>', '-').replace('</div>', '-'); 
 
document.write(str);