Как получить сырой HTML из строки в JQuery? - PullRequest
11 голосов
/ 14 мая 2011

У меня есть <label class='ash'>Comment Removed</label> в базе данных.

Когда я показываю это на сетке. Я получаю это на странице:

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

На самом деле я должен просто быть удален в сером цвете

Как я могу преобразовать это в HTML, как я это делаю в представлении MVC 3 Razor?

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

Я использую jquery 1.6 на MVC 3

Я пытался:

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

Может быть, это просто, но не могу понять

1 Ответ

11 голосов
/ 14 мая 2011

Это должно помочь вам:

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

Вот демонстрация, показывающая, что он прикреплен к телу ->

Если вам нужно сделать это несколько раз, вы можете упростить функцию, например, так:

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

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