使用JQuery在div中插入html会删除Anchor标记

时间:2014-11-21 15:08:08

标签: javascript jquery html ajax asp.net-mvc

我试图做一些应该非常简单的事情但我的头脑即将爆炸,因为我无法让它发挥作用。

在我的asp.net MVC应用程序中,我对服务器进行Ajax调用,服务器发回一条消息(作为字符串),其中包含一个链接。

消息基本上如下所示:Action failed, <a href="">Learn more.</a>。 我在div中插入此返回的消息,显示来自服务器的警报。

但是,无论我尝试什么,都不会插入'<a href="">Learn more.</a>'部分。 如果我alert(returnedMessage),它会显示正确的html,但是我会尽快显示 $(mydiv).html(returnedMessage),锚标记消失了。我试过unescaping,正常的jscript innerHtml ......不确定我错过了什么。

谢谢!

**更新一些额外的代码** 我有一个返回消息的ajax调用。我有一个方法,然后将消息设置为div并显示警报。

ajax呼叫处理:

  success: function (result) {      
                    if (result.Message) {
                       showAlert(result.Message);
                    }
            },

javascript:

  function showAlert(message) {
  // neither setting the actual div, nor the span works
      alert(message);
        $('#server-message').html(message)
        //$('#server-message span').html(message);
        $('#server-message').fadeIn(100);
    };

html:

<div id="server-message">
    <span></span>
</div>

2 个答案:

答案 0 :(得分:2)

如果你正确地逃避双引号,也值得一试:)

var returnMessage = '<a href=\"\">Learn more.</a>';

答案 1 :(得分:-1)

如果您.html()只覆盖此对象中的$(mydiv).html(returnedMessage)属性,则应向$(mydiv).html =函数html发送消息。