Диапазон: метод selectNodeContents()
Базовая версия Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2017 года.
Метод Range.selectNodeContents() устанавливает Range для содержания узла Node.
Родительский узел Node начала и конца Range будет узлом-ссылкой. Начало startOffset равно 0, а конец endOffset — количеству дочерних узлов Node или количеству символов, содержащихся в узле-ссылке.
Синтаксис
selectNodeContents(referenceNode)
Параметры
Возвращаемое значение
None (undefined).
Примеры
const range = document.createRange();
const referenceNode = document.querySelector("div");
range.selectNodeContents(referenceNode);
Пример
Этот пример позволяет пользователю выбирать и отменять выбор абзаца с помощью кнопок. Document.createRange(), Range.selectNodeContents(), и Selection.addRange() используются для выбора содержимого. Window.getSelection() и Selection.removeAllRanges() используются для отмены выбора.
HTML
<p id="p"> <strong>Use the buttons below</strong> to select or deselect the contents of this paragraph. </p> <button id="select-button">Select paragraph</button> <button id="deselect-button">Deselect paragraph</button>
JavaScript
const p = document.getElementById("p");
const selectButton = document.getElementById("select-button");
const deselectButton = document.getElementById("deselect-button");
selectButton.addEventListener("click", (e) => {
// Clear any current selection
const selection = window.getSelection();
selection.removeAllRanges();
// Select paragraph
const range = document.createRange();
range.selectNodeContents(p);
selection.addRange(range);
});
deselectButton.addEventListener("click", (e) => {
const selection = window.getSelection();
selection.removeAllRanges();
});
Результат
Спецификации
| Спецификация |
|---|
| DOM # dom-range-selectnodecontents |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
selectNodeContents |
1 | 12 | 1 | 9 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Range/selectNodeContents