使用jquery将html标记添加到表中

时间:2013-08-29 10:45:21

标签: jquery html

我正在尝试在使用jquery动态添加的表中显示br tag <br>

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不起作用。请建议

4 个答案:

答案 0 :(得分:1)

请改为:

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

enter image description here

答案 1 :(得分:0)

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

通过确保字符串编码正确,您将能够正确呈现它。这也将为javascript和html污损攻击提供额外的安全性。

答案 2 :(得分: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>");

答案 3 :(得分: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?";

希望您能解决问题。