Мне нужно отредактировать HTML-документ с помощью jQuery, но все решения, которые я пробовал, очень строгие.
Я получаю документ с сервера, поэтому получаю его в виде строки.Чтобы разобрать документ, мне нужно добавить его в DOM.
Когда я добавляю его в тело, я теряю теги <html>
, <head>
и <body>
, которые удаляютсябраузер (см. https://stackoverflow.com/a/3218941/654179).
Поэтому я попытался использовать iframe, который немного сложен: я должен использовать contentWindow.document
, чтобы заполнить его вручную, а затем трюк с contents().find('*').html()
, чтобы получить контент. Возможноесть более простой и понятный способ сделать это, но решение iframe также удаляет теги <html>
, <head>
и <body>
. См. мой пример: http://jsfiddle.net/gNvYn/7/
Здесь есть еще одна хитрость: https://stackoverflow.com/a/6751201/654179 но я не смог использовать его для записи и чтения документа (мне нужно прочитать его для сохранения на сервере).
Итак, есть ли способ отредактировать (написать, затем прочитать) HTML-документ без потери структуры?