JavaScript Range.setStart() — початок діапазону
Метод setStart() ставить початок діапазону: у якому вузлі й на якому зсуві.
Загальний опис
Зсув означає різне залежно від вузла — і саме тут плутаються. У текстовому вузлі це номер символу: setStart(text, 3) почне діапазон після третьої літери. У елементі це номер дочірнього вузла.
Звідси й уся сила Range: він мислить не теґами, а точками — тому й уміє описати виділення, що починається посеред слова.
- Нотатка
-
Якщо початок опиниться після кінця, браузер мовчки схлопне діапазон — помилки не буде, просто вийде порожньо.
автор: NagarD
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| setStart | 1+ | 1+ | 1+ | 7+ | 12+ | 9+ |
| Переглядач | ||||
|---|---|---|---|---|
| setStart | yes | yes | yes | yes |
Приклади
+ запропонувати свій приклад у пісочниці
Діапазон, що починається посеред слова.
HTML
<p id="text">Привіт, світе!</p>
JS
const node = document.getElementById('text').firstChild;
const range = document.createRange();
// у текстовому вузлі зсув — номер символу
range.setStart(node, 8);
range.setEnd(node, 13);
console.log(range.toString()); // 'світе'
Коментарі
Коментарів ще немає — будьте першим!