Jump to content
  • 0

Вопрос по модификации DOM


rash
 Share

Question

Есть такая задача: найти все определенные теги на странице и заменить их на другие. К примеру, найти все теги pre и заменить их на blockquote с тем же содержимым. Проблема заключается в том, что известные мне способы требуют обращения к контейнеру этого элемента, а затем удаления дочернего узла и создания нового с копией контента.

Возможно ли это как-то сделать не зная ничего о структуре документа (к ней привязываться нельзя). То есть заранее неизвестно, какие будут элементы-родители и сестринские элементы у нужного, и для меня это серьезно усложняет задачу. Хотелось бы узнать, есть ли альтернативные варианты.

Учить матчасть можно не посылать, сейчас как раз этим и занимаюсь. Можно подсказать материалы, где рассматривается что-то подобное. Спасибо.

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0
Есть такая задача: найти все определенные теги на странице и заменить их на другие. К примеру, найти все теги pre и заменить их на blockquote с тем же содержимым. Проблема заключается в том, что известные мне способы требуют обращения к контейнеру этого элемента, а затем удаления дочернего узла и создания нового с копией контента.

Возможно ли это как-то сделать не зная ничего о структуре документа (к ней привязываться нельзя). То есть заранее неизвестно, какие будут элементы-родители и сестринские элементы у нужного, и для меня это серьезно усложняет задачу. Хотелось бы узнать, есть ли альтернативные варианты.

Учить матчасть можно не посылать, сейчас как раз этим и занимаюсь. Можно подсказать материалы, где рассматривается что-то подобное. Спасибо.

getElementsByTagName
createElement
appendChild
removeChild
innerHTML
createRange
selectNodeContext
extractContents
detach

Из этих ингридиентов за 15 минут можно слепить нужную функцию.

Link to comment
Share on other sites

  • 0

Спасибо. Мое изучение матчасти дошло еще не до всех этих функций, так что будем искать и лепить :-) Главное, известно, где искать и из чего лепить :-)

По моему задача прекрасно решается при помощи css, просто прописываешь для blockquote и pre одинаковое отображение и все. Если конечно дело в отображении…

Дело не только в отображении. Я привел только верхушку айсберга, на самом деле надо будет еще менять внутреннюю структуру элемента, но для начала нужно сохранить его содержимое.

Link to comment
Share on other sites

  • 0

По любому внешний контейнер по идее будет <HTML> Так что просто ищешь нужный тег, копируешь содержимое, поднимешься на уровень вверх, удаляешь найденный тег, создаешь новый тег, помещаешь в него скопированное. Функции при помощи которых это можно сделать тебе показали выше, но ссылку все же кину, точно пригодиться :)

http://wdh.suncloud.ru/dhtml03.htm#ref43

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy