2015-05-14 23 views
1

我用帶標記的單詞替換了部分div(即內容可編輯)。它不僅僅顯示新詞的內容,還顯示標籤。替換的字符串顯示窗口中的標記

這裏的div的原始內容:

這是<DIV>標籤裏面,我想替換這個[var12]

這是怎麼了我倒是喜歡看:

這是<DIV>標籤裏面,我想替換這個var12

然而,它結束了看起來像這樣:

這是<DIV>標籤裏面,我想替換這個<跨度> var12 </SPAN >

這是我使用的代碼:

var pattern = new RegExp("\\[\\[var[0-9]*\\]\\]") 
if ($(this).text().match(pattern)) { 
    var match = $(this).text().match(pattern); 
    var num = match.toString().match(/[0-9]+/); 
    var tagged = '<span class="variable">VAR ' + num + '</span>'; 
    $(this).text($(this).text().replace(pattern, tagged));  
} 

回答

4

看起來像這樣,因爲你已經明確告訴它通過使用.text()來轉義html。如果你想插入html,你可以使用.html()

$(this).html($(this).text().replace(pattern, tagged)); 

.text() docs

我們需要注意,這種方法逃脫,根據需要設置,使其在HTML正確地呈現字符串。爲此,它調用DOM方法.createTextNode(),不會將該字符串解釋爲HTML。

+0

謝謝!!!!馬上就像魅力一樣工作。 –

+0

@jKo簡易修復通常是最好的:) –