toString – Stepan Suvorov Blog https://stepansuvorov.com/blog Release 2.0 Sat, 28 Jun 2014 08:15:56 +0000 en-US hourly 1 https://wordpress.org/?v=6.3.1 jQuery to String https://stepansuvorov.com/blog/2014/06/jquery-to-string/ https://stepansuvorov.com/blog/2014/06/jquery-to-string/#respond Sat, 28 Jun 2014 08:14:21 +0000 http://stepansuvorov.com/blog/?p=1775 Continue reading ]]> Иногда возникает необходимость получить html-содержимое jQuery-объекта в виде строки. Первое что приходит в голову

[javascript]$element.html();[/javascript]

да, это работает, но мы не получаем html-кода самого контейнера (или корневого элемента). Следующий вариант, который приходит в голову – сделать обертку копии текущего элемента и после уже получить содержимое:

[javascript]$(‘<div>’).append($element.clone()).html();[/javascript]

но как-то это громоздкою.
Погуглив нашел еще интересный вариант, который работает в jQuery начиная с версии 1.6:

[javascript]$element.prop(‘outerHTML’); [/javascript]

Ну и можно еще поиграть с переопределением метода toString (сделано в качестве эксперимента и крайне не рекомендуется делать в реальном проекте):

[javascript]
$.fn.toString = function() {
return $(this).prop(‘outerHTML’);
}
[/javascript]

после чего

[javascript]alert($element) [/javascript]

выведет не просто [Object object], а строку – HTML содержимое объекта.

И код.

]]>
https://stepansuvorov.com/blog/2014/06/jquery-to-string/feed/ 0