html代码没有运行jquery问题

时间:2015-03-05 17:52:48

标签: javascript jquery

HTML代码未运行!这里item.m =“一些html代码”,但它显示为纯文本,而不是运行html。我很困惑现在该做什么..

$("#chatbox_"+chatboxtitle+" .chatboxcontent").append('<div class="chatboxmessage"><span class="chatboxmessagefrom">'+item.f+':&nbsp;&nbsp;</span><span class="chatboxmessagecontent">'+$.parseHTML(item.m)+'</span></div>');

完整代码:

$.ajax({
  url: "chat.php?action=chatheartbeat",
  cache: false,
  dataType: "json",
  success: function(data) {

    $.each(data.items, function(i,item){
        if (item)   { // fix strange ie bug

            chatboxtitle = item.f;

            if ($("#chatbox_"+chatboxtitle).length <= 0) {
                createChatBox(chatboxtitle);
            }
            if ($("#chatbox_"+chatboxtitle).css('display') == 'none') {
                $("#chatbox_"+chatboxtitle).css('display','block');
                restructureChatBoxes();
            }

            if (item.s == 1) {
                item.f = username;
            }

            if (item.s == 2) {
                $("#chatbox_"+chatboxtitle+" .chatboxcontent").append('<div class="chatboxmessage"><span class="chatboxinfo">'+item.m+'</span></div>');
            } else {
                newMessages[chatboxtitle] = true;
                newMessagesWin[chatboxtitle] = true;
                $("#chatbox_"+chatboxtitle+" .chatboxcontent").append('<div class="chatboxmessage"><span class="chatboxmessagefrom">'+item.f+':&nbsp;&nbsp;</span><span class="chatboxmessagecontent">'+$.parseHTML(item.m)+'</span></div>');
            }

            $("#chatbox_"+chatboxtitle+" .chatboxcontent").scrollTop($("#chatbox_"+chatboxtitle+" .chatboxcontent")[0].scrollHeight);
            itemsfound += 1;
        }
    });

响应数据为<a href='../chat/file/6717_1_work.txt'>work.txt</a>,但它显示为文本而非超链接。

1 个答案:

答案 0 :(得分:0)

JsFiddle

显然你需要删除$ .parseHTML并且它将起作用

$("div").append('<span class="chatboxmessagecontent">'+("<a href='../chat/file/6717_1_work.txt'>work.txt</a>")+'</span></div>');

正如您在此jsFiddle中看到的代码所示,它不适用于 $。parseHTML