【问题标题】:add html tag to table using jquery使用jquery将html标签添加到表中
【发布时间】:2013-08-29 10:45:20
【问题描述】:

我正在尝试在使用 jquery 动态添加的表中显示 br 标记 <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,&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; How are you?。但是使用上面的代码,它会替换 br 标记并作为新行添加到页面中。我们如何在页面的数据库中显示 html 标签?在 MVC 中,我们可以使用 Html.Raw 来实现它,但是上面带有 jquery 的代码不起作用。请推荐

【问题讨论】:

    标签: jquery html


    【解决方案1】:

    改为这样做:

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

    【讨论】:

    • 我需要在页面中显示 br。即我的数据库中的任何文本。从您添加的图像中,它用新行替换了 br。它不应该
    • 对不起,我认为反对者——而不是在这里删除一些更新,但并不完美——仍然错过了第一个 &lt;br&gt;
    【解决方案2】:

    试试这个代码

    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】:
      var _textFromDatabase = "Hello,&lt;br&mt;&lt;br&mt;&lt;br&mt;br&lt; How are you?";
      

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

      【讨论】:

        【解决方案4】:

        而不是这样写:

           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?";
        

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-05-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多