@Shimpanze

JavaScript: функция «getSelection()» получает выделенный текст, существует ли возможность, получить выделенный текст вместе с его HTML-тегами?

Добрый день!

Функция «getSelection()» получает выделенный текст, существует ли возможность, получить выделенный текст вместе с его HTML-тегами?

Например, на странице есть абзац:

<p>Hello World!</p>

Функция «getSelection()», получит только текст «Hello World!», а как получить именно «<p>Hello World!</p>»?

Буду благодарен за помощь.
  • Вопрос задан
  • 654 просмотра
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
На самом деле нет, window.getSelection() возвращает не текст, а объект Selection. И если вы с ним пытаетесь работать как с текстом, то автоматически сработает его метод toString() и вы получите "только текст Hello World".

Если посмотрите документацию, то там есть и
Selection.anchorNode // Returns the Node in which the selection begins.

и также
Selection.focusNode // Returns the Node in which the selection ends.

Все так сложно потому, что выделение может начинаться в середине одного тега, и заканчиваться в середине другого, как-то так:
QIuj5uB.png
Ответ написан
Комментировать
yellow79
@yellow79
Senior Software Engineer
как-то так
window.getSelection().anchorNode.parentNode
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы