Конвертировать набор jQuery в HTML - PullRequest
7 голосов
/ 28 ноября 2008

Учитывая набор результатов jQuery, как преобразовать его обратно в обычный HTML?

<div class="abc">
    foo <strong>FOO</strong>
</div>
<div class="def">
    bar
</div>

-

var $mySet = $('div');

Учитывая $mySet, как бы вы вернулись к простому HTML выше?

Ответы [ 5 ]

11 голосов
/ 28 ноября 2008

Я бы предложил создать временный контейнер, а затем получить html() этого нового контейнера:

var html = $('<div>').append( $('div').clone() ).html();
alert(html);

// alerts:

<div class="abc">
    foo <strong>FOO</strong>
</div><div class="def">
    bar
</div>
4 голосов
/ 10 июля 2012

Если ваш набор состоит только из одного предмета, вы можете использовать старый Javascript:

var html = $mySet[0].outerHTML; // note HTML is all caps... that always burns me
1 голос
/ 19 декабря 2008

может быть, вам нужен шаблонизатор на стороне клиента. проверить сообщение Клиент шаблонов с JQuery

Я использую это, и это довольно круто. Вы просто устанавливаете шаблон, который вы хотите использовать внутри div, а затем передаете его с помощью объекта / массива json и все.

0 голосов
/ 28 ноября 2008

Используя метод jQuery appendTo , если я правильно понимаю, что вы подразумеваете под "возвратом к простому HTML выше".

0 голосов
/ 28 ноября 2008
var $mySet = $('div');
var html = $mySet.html();

Если вы хотите также HTML-код элемента (непроверенный):

var $mySet = $('div');
var html = $mySet.clone().wrap('<div></div>').html();

Кстати, здесь $ является частью имени переменной. Javascript не требует $ like в PHP для имен переменных, но его не помешает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...