@Shimpanze

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

Добрый день!

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

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

<p>Hello World!</p>

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

Буду благодарен за помощь.
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
Grabr Inc. Москва
от 2 500 до 4 500 usd.
KUPIBILET.RU Санкт-Петербург
от 100 000 до 130 000 руб.
21 июля 2018, в 18:06
10000 руб./за проект
21 июля 2018, в 15:32
1000 руб./за проект