2016-05-10 69 views
1

我想是這樣的替換:如何使用唯一的ID

var paragraphy= "Lorem ipsum dolar amet. Lorem ipsum dolar amet." 
var uniqueid=Math.random().toString(16).slice(2, 10); 
paragraphy.replace(/dolar/gi,'<span id="'+uniqueid+'"'>$1</span>); 

結果:

... <span id='ce79657a'>dolar</span>... ipsum <span id='ce79657a'>dolar</span> ... 

但我想爲這樣的結果:

... <span id='ce79657a'>dolar</span>... ipsum <span id='ad45234f'>dolar</span> ... 

我怎樣才能去做?感謝幫助。

+0

也許[像這樣]這樣做(https://jsfiddle.net/11np293g/)可以提供幫助。計算替換回調中的隨機ID。 –

+0

@WiktorStribiżew爲什麼要替換這個「<, >」如果我使用替換span元素顯示爲字符串。如果我不在dom上使用嵌套跨度。 – ozen

+0

它僅用於演示。否則您將看不到span標籤。 –

回答

0

replace() callback

var paragraphy = "Lorem ipsum dolar amet. Lorem ipsum dolar amet." 
 

 
paragraphy = paragraphy.replace(/dolar/gi, function(m) { 
 
    var uniqueid = Math.random().toString(16).slice(2, 10); 
 
    return '<span id="' + uniqueid + '">' + m + '</span>' 
 
}); 
 

 
console.log(paragraphy);