Spec-Zone.ru › Web APIs

Текст: метод splitText()

Базовая поддержка Широко доступна

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Метод splitText() интерфейса Text разбивает узел Text на два узла на указанном смещении, сохраняя оба узла в дереве как соседние.

После разделения текущий узел содержит всё содержимое до указанной точки смещения, а новый созданный узел того же типа содержит оставшийся текст. Созданный узел возвращается вызывающей стороне. Если у исходного узла есть родитель, новый узел вставляется как следующий сосед исходного узла. Если смещение равно длине исходного узла, созданный узел не содержит данных.

Разделенные текстовые узлы могут быть объединены с помощью метода Node.normalize().

Синтаксис

newNode = textNode.splitText(offset)

Параметры

offset

Индекс, непосредственно перед которым должен быть разбит текстовый узел.

Возвращаемое значение

Возвращает новый созданный узел Text, содержащий текст после указанной точки смещения.

Исключения

IndexSizeError DOMException

Выбрасывается, если указанное смещение отрицательное или больше, чем количество 16-битных единиц в тексте узла.

NoModificationAllowedError DOMException

Выбрасывается, если узел является только для чтения.

Пример

В этом примере текст <p> разбивается на два текстовых узла, и между ними вставляется <u>.

<p>foobar</p>
const p = document.querySelector("p");

// Get contents of <p> as a text node
const foobar = p.firstChild;

// Split 'foobar' into two text nodes, 'foo' and 'bar',
// and save 'bar' as a const
const bar = foobar.splitText(3);

// Create a <u> element containing ' new content '
const u = document.createElement("u");
u.appendChild(document.createTextNode(" new content "));

// Add <u> before 'bar'
p.insertBefore(u, bar);

// The result is: <p>foo<u> new content </u>bar</p>

Спецификации

Спецификация
DOM
# ref-for-dom-text-splittext①

Совместимость браузеров

Рабочие столы Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari в IOS Samsung Internet WebView Android
splitText
1До Chrome 30, параметр offset был необязательным.
12 1
≤12.1До Opera 17, параметр offset был необязательным.
1Параметр offset был необязательным.
18До Chrome Android 30, параметр offset был необязательным.
4
≤12.1До Opera 17, параметр offset был необязательным.
1Параметр offset был необязательным.
1.0До Samsung Internet 2.0, параметр offset был необязательным.
1До версии 4.4, параметр offset был необязательным.

См. также

  • Интерфейс Text, к которому он относится.
  • Противный метод: Node.normalize.

© 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/Text/splitText

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API