2013-08-29 135 views
0

我想顯示br標記<br>裏面動態地添加使用jQuery的表。添加html標籤到表使用jquery

HTML:

<table id="TempTable"></table> 

的Javascript:

var _textFromDatabase = "Hello,<br><br><br><br> How are you?"; 
var _trText = "<tr><td>" + $('<div/>').html(_textFromDatabase).text() + "</td></tr>"; 
$("#TempTable").html("<code>"+ _trText + "</code>"); 

我需要顯示Hello,<br><br><br><br> How are you?表內動態。但通過上面的代碼,它會替換br標籤並作爲新行添加到頁面中。我們如何在頁面的數據庫中顯示html標籤?在MVC中,我們可以使用Html.Raw實現它,但上面的代碼與jQuery不起作用。請建議

回答

0

試試這個代碼

DEMO

var _textFromDatabase = "Hello,<br><br><br><br> How are you?"; 
var _trText = "<tr><td>" + $('<div/>').text(_textFromDatabase).text().replace(/</g, '&lt;').replace(/>/g, '&gt;') + "</td></tr>"; 
$("#TempTable").html("<code>"+ _trText + "</code>"); 
+0

這工作完美。謝謝 – Prasad

1

而是執行此操作:

$("#TempTable").append('<tr>'). 
       append('<td>'). 
       text(_textFromDatabase.replace('<br','&lt;br')); 

enter image description here

+0

我需要在頁面中顯示br。即我的數據庫中的任何文本。從你添加的圖像中,它用新的行代替了br。它不應該 – Prasad

+0

對不起,認爲對立 - 而不是刪除這裏的一點點更新,但不是完美的 - 但仍然錯過了第一個'
' – davidkonrad

0
var _textFromDatabase = "Hello,&lt;br&mt;&lt;br&mt;&lt;br&mt;br&lt; How are you?"; 

通過確保字符串被正確編碼,您將能夠正確地呈現它。這也將爲javascript和html損壞攻擊提供額外的安全性。

0

而不是寫這個的:

var _textFromDatabase = "Hello,<br><br><br><br> How are you?"; 

試試這個:

var _textFromDatabase = "Hello, &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; How are you?"; 

希望你能爲你的問題得到解決方案。