Имеется 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
, поэтому и задал этот вопрос :(
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня на страничке есть форма, в нее пользователь вводит функцию по определенному шаблону
При выборе пункта Нет, в форме автоматически добавляется текст "Нет", как это правильно реализовать на JS, заранее спасибо!