Символьные данные: интерфейс CharacterData
Поддержка : | | Поддерживается для XML-документов (XMLDOMCharacterData); для HTML-документов поддерживается частично. | | | Соответствует стандарту. |
Интерфейс CharacterData инкапсулирует свойства и методы, присущие узлам, содержащим текстовые данные. Самостоятельно он не употребляется, а только служит прототипом для интерфейсов Text и Comment. Этот интерфейс спроектирован так, чтобы поддерживать большие объемы текстовой информации в XML-документах, которые могут не помещаться в символьные строки сценарных языков. Для HTML-документов эта проблема не актуальна, и мы можем работать с содержимым текстовых узлов как с обычными строками JavaScript. Напомним, что текстовые строки представляются в DOM строками символов формата UTF-16, а нумерация символов в строке начинается с нуля.
Свойства интерфейса CharacterDataСвойство | Изменяемое | Модель | Описание |
---|
data | Да | DOM 1 | Символьные данные узла. | length | Нет | DOM 1 | Количество символов в data. |
Методы интерфейса CharacterDataМетод | Модель | Описание |
---|
appendData | DOM 1 | Добавляет строку в конец данных узла. | deleteData | DOM 1 | Удаляет фрагмент данных узла. | insertData | DOM 1 | Вставляет строку в заданное место данных узла. | replaceData | DOM 1 | Заменяет фрагмент данных узла на новую строку. | substringData | DOM 1 | Извлекает фрагмент данных узла. |
Свойство data
Синтаксис: узел.data Изменяемое: да Исключения: NO_MODIFICATION_ALLOWED_ERR (при записи), DOMSTRING_SIZE_ERR (при чтении)
Поддержка : | | Соответствует стандарту. | | | Соответствует стандарту. |
Свойство data задает или возвращает строку, содержащую текстовое содержимое данного узла. Пример:
var node = document.createTextNode("Мой текст"); node.data = "Новый текст"; alert(node.data);
Оператор alert выведет на экран строку Новый текст.
Свойство length
Синтаксис: узел.length Изменяемое: нет
Поддержка : | | Соответствует стандарту. | | | Соответствует стандарту. |
Свойство length возвращает беззнаковое целое число, равное количеству символов в текстовом содержимом узла. Пример:
var node = document.createTextNode("Мой текст"); alert(node.length);
Оператор alert выведет на экран число 9.
Метод appendData
Синтаксис: элемент.appendData(arg) Аргументы: arg - выражение типа DOMString Исключения: NO_MODIFICATION_ALLOWED_ERR
Поддержка : | | Только для XML-документов. | | | Соответствует стандарту. |
Метод appendData добавляет в конец текстового содержимого узла строку arg. Пример:
var node = document.createTextNode("12345"); node.appendData("67890"); alert(node.data);
Оператор alert выведет в Gecko на экран строку 1234567890. В Internet Explorer вместо этого метода следует использовать оператор node.data += arg .
Метод deleteData
Синтаксис: элемент.deleteData(offset, count) Аргументы: offset, count - неотрицательные целые выражения Исключения: NO_MODIFICATION_ALLOWED_ERR, INDEX_SIZE_ERR
Поддержка : | | Только для XML-документов. | | | Соответствует стандарту. |
Метод deleteData удаляет фрагмент текстового содержимого узла длиной count символов, начиная с позиции offset. Если count + offset > length, то удаляется подстрока, начиная с позиции offset и до конца данных. Если offset отрицателен или больше length, либо если count отрицателен, то генерируется исключение INDEX_SIZE_ERR. Пример:
var node = document.createTextNode("12345"); node.deleteData(1, 3); alert(node.data);
Оператор alert выведет в Gecko на экран строку 15. В Internet Explorer вместо этого метода следует использовать оператор node.data = node.data.substr(0, offset) + node.data.substr(offset+count) .
Метод insertData
Синтаксис: элемент.insertData(offset, arg) Аргументы: offset - неотрицательное целое выражение arg - выражение типа DOMString Исключения: NO_MODIFICATION_ALLOWED_ERR, INDEX_SIZE_ERR
Поддержка : | | Только для XML-документов. | | | Соответствует стандарту. |
Метод insertData вставляет строку arg в текстовое содержимое, начиная с позиции offset. Если offset отрицателен или больше length, то генерируется исключение INDEX_SIZE_ERR. Пример:
var node = document.createTextNode("12345"); node.insertData(0, "0"); alert(node.data);
Оператор alert выведет в Gecko на экран строку 012345. В Internet Explorer вместо этого метода следует использовать оператор node.data = node.data.substr(0, offset) + arg + node.data.substr(offset) .
Метод replaceData
Синтаксис: элемент.replaceData(offset, count, arg) Аргументы: offset, count - неотрицательные целые выражения arg - выражение типа DOMString Исключения: NO_MODIFICATION_ALLOWED_ERR, INDEX_SIZE_ERR
Поддержка : | | Только для XML-документов. | | | Соответствует стандарту. |
Метод replaceData заменяет фрагмент текста длиной count символов, начиная с позиции offset, на строку arg. Если offset отрицателен или больше length, либо count отрицателен, то генерируется исключение INDEX_SIZE_ERR. Пример:
var node = document.createTextNode("12345"); node.replaceData(0, 3, "678"); alert(node.data);
Оператор alert выведет в Gecko на экран строку 67845. В Internet Explorer вместо этого метода следует использовать оператор node.data = node.data.substr(0, offset) + arg + node.data.substr(offset+count) .
Метод substringData
Синтаксис: элемент.substringData(offset, count) Аргументы: offset, count - неотрицательные целые выражения Результат: значение типа DOMString Исключения: DOMSTRING_SIZE_ERR, INDEX_SIZE_ERR
Поддержка : | | Только для XML-документов. | | | Соответствует стандарту. |
Метод substringData возвращает фрагмент текстового содержимого узла длиной count символов, начиная с позиции offset. Если count + offset > length, то возвращается подстрока, начиная с позиции offset и до конца данных. Текстовое содержимое узла не изменяется. Если offset отрицателен или больше length, либо если count отрицателен, то генерируется исключение INDEX_SIZE_ERR. Пример:
var node = document.createTextNode("12345"); alert(node.substringData(1, 3));
Оператор alert выведет в Gecko на экран строку 234. В Internet Explorer вместо этого метода следует использовать оператор node.data.substr(offset, count) .
1 2 3 4
8 8 8
| |