Нет необходимости создавать функцию для него. Просто сделай это так:
$('a').each(function(){
var s = $(this).clone().wrap('<p>').parent().html();
console.log(s);
});
(Кстати, в консоли вашего браузера будет отображаться то, что зарегистрировано. Большинство последних браузеров, начиная с 2009 года, имеют эту функцию.)
Волшебство заключается в следующем:
.clone().wrap('<p>').parent().html();
Клон означает, что вы на самом деле не беспокоите DOM. Запустите его без него, и вы увидите p
теги, вставленные до / после всех гиперссылок (в этом примере), что нежелательно. Итак, да, используйте .clone()
.
Он работает так, что он берет каждый тег a
, создает его клон в ОЗУ, оборачивает тегами p
, получает его родителя (имеется в виду тег p
) и затем получает innerHTML
свойство этого.
РЕДАКТИРОВАТЬ : взял совет и изменил теги div
на теги p
, потому что он меньше печатает и работает так же.