2016-11-22 51 views
0

我有一些文字DIV,我試圖使用jQuery替換爲HTML標記文本,但是,它的更換標籤的文本而不是HTML標籤查找單詞,並用標籤取代wihtin DIV jQuery的

以下是HTML結構

<h3>Rs.1410/30 Tablet(s) </h3> 

JS,我試過是

$("h3").text(function() { 
    return $(this).text().replace("Rs.", "<i class='fa fa-inr'></i>"); 
}); 

如果我嘗試的.html(),則其全部更換該分區中的內容,我不想要的。任何人都可以請建議

感謝

回答

4

使用html()函數,而不是text()

$("h3").html(function() { 
    return $(this).text().replace("Rs.", "<i class='fa fa-inr'></i>"); 
}); 

從文檔

函數返回的HTML內容進行設置。收到集合中元素的索引 位置和舊的HTML值爲 參數。 jQuery在調用函數之前清空元素;使用 oldhtml參數來引用先前的內容。在 函數中,這指的是集合中的當前元素。

0

無需使用功能

$("h3").html(
 
    $("h3").text().replace("Rs.", "<i class='fa fa-inr'></i>"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<h3>Rs.1410/30 Tablet(s) </h3>

0

我會嘗試這樣的事:

var text = $('h3').html().replace("Rs.", "<i class='fa fa-inr'></i>"); 
$('h3').html(text); 

所以基本上,你所得到的H3元素,調用.html()得到其整個 html內容,使用replace,因爲您已經擁有了這些內容,並將所有內容分配給一個變量,然後將該變量轉換爲另一個調用.html()以替換h3標記中的現有HTML。