Распечатайте объект jQuery как HTML - PullRequest
22 голосов
/ 07 декабря 2009

Есть ли хороший способ распечатать объект jQuery в виде чистого HTML?

например:

<img src="example.jpg">

<script>
var img = $('img').eq(0);
console.log(img.toString());
</script>

toString() не работает таким образом. Мне нужна строка, эквивалентная HTML, т. Е.

<img src="example.jpg">

Ответы [ 3 ]

23 голосов
/ 06 августа 2011

$('img')[0].outerHTML

даст вам HTML первого img на странице. Затем вам нужно будет использовать цикл for, чтобы получить HTML-код всех изображений, или поместить идентификатор на изображение и указать его только в селекторе jQuery.

15 голосов
/ 07 декабря 2009

Вы можете обернуть его, а затем использовать HTML:

var img = $('img').eq(0);
console.log(img.wrap("<span></span>").parent().html());
6 голосов
/ 07 декабря 2009

Если вам нужно напечатать объект в формате HTML, используйте это расширение outerHTML или это outerHTML .

Обновление

Обновите ссылку и включите код для второй ссылки:

$.fn.outerHTML = function(){

    // IE, Chrome & Safari will comply with the non-standard outerHTML, all others (FF) will have a fall-back for cloning
    return (!this.length) ? this : (this[0].outerHTML || (
      function(el){
          var div = document.createElement('div');
          div.appendChild(el.cloneNode(true));
          var contents = div.innerHTML;
          div = null;
          return contents;
    })(this[0]));

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