Имеется TextNode:
<div>aaa bbb ccc</div>
(точнее элемент, содержащий ровно одну TextNode)
Я могу получить координаты всего текста вот так:
let element = document.querySelector('div');
let node = element.childNodes[0];
let range = document.createRange();
range.selectNodeContents(node);
let rect = range.getBoundingClientRect();
console.log(rect);
<div>aaa bbb ccc</div>
Как я могу получить координаты только слова bbb (я знаю индексы его начала и конца в соответствующей TextNode)? Под координатами имеются в виду четыре числа left, top, height и width.
Надо использовать методы Range.setStart и Range.setEnd:
let element = document.querySelector('div');
let node = element.childNodes[0];
let range = document.createRange();
range.setStart(node, 4);
range.setEnd(node, 7);
let rect = range.getBoundingClientRect();
console.log(rect);
<div>aaa bbb ccc</div>
А кто-то не смог правильно найти координаты слова bbb, поэтому и задал этот вопрос :(
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости