0

我正在尝试在<br>使用 jquery 动态添加的表中显示 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

4 回答 4

1

改为这样做:

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

在此处输入图像描述

于 2013-08-29T10:48:36.853 回答
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?";

希望你能得到解决你的问题。

于 2013-08-29T11:04:44.810 回答
0

试试这个代码

演示

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>");
于 2013-08-29T10:54:41.730 回答
0
var _textFromDatabase = "Hello,&lt;br&mt;&lt;br&mt;&lt;br&mt;br&lt; How are you?";

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

于 2013-08-29T10:49:40.340 回答