Второй метод OuterHTML , который упоминает Андрес (из блога веб-архитекторов), работает во всех браузерах, так что это, вероятно, лучший выбор. Основная идея заключается в том, что вы можете получить внешний HTML-код элемента, сделав его внутренним HTML-элементом другого элемента:
var outerHtml = $("<div/>").append($("#li2").clone()).html();
Есть только один немного хитрый бит - убедитесь, что clone
ваш оригинальный элемент, чтобы вы не удаляли его из DOM.
Если вы делаете это часто или хотите делать это с массивами элементов, вероятно, стоит следовать связанному примеру и создать для этого небольшой плагин.