Skip to content

How to get Raw html from string in jquery?

I have <label class='ash'>Comment Removed</label> in the database.

When I show this on the grid. I get this on the page:

<label class='ash'>Removed</label>

Actually I should just get Removed in Gray color

How can I convert this to Html like I do in MVC 3 Razor view?

@Html.Raw(HttpUtility.HtmlDecode(comment.txt)) works fine

I am using jquery 1.6 on MVC 3

I tried:

$("<label class='ash'>Comment Removed</label>").html()
   unescape($(txt)).html()

May be it is simple, but can’t figure it out

Answer

This should do the trick for you:

var elemString = $('<div/>').html("&lt;label class='ash'&gt;Comment Removed&lt;/label&gt;").text();

Here’s a demo showing it being appended to the body ->

If you need to do this multiple times, you could simplify with a function, like so:

function DecodeHtml(str) {
    return $('<div/>').html(str).text();
}

var encodedStr = "&lt;label class='ash'&gt;Comment Removed&lt;/label&gt;";
$('body').append(DecodeHtml(encodedStr));