Я работаю над проектом, который выполняет некоторое DOM-дерево.Чтобы вставить некоторые теги span для добавления бликов в документ, иногда необходимо разделить текстовый узел:
var newTextNode = treeWalker.currentNode.splitText(charOffset);
Проблема возникает тогда, когда я в следующий раз пытаюсь позвонить:
if (newTextNode.nodeValue == "")
{
//...
}
Этот .nodeValue
вызов вызывает ошибку JavaScript в IE9, которая говорит просто: Incorrect function.
Совершенно бесполезно, если не сказать больше.Подумав, возможно, что-то странное, я открыл отладчик и выполнил: typeof newTextNode.nodeValue
, который возвращает "unknown"
.
Кто-нибудь может объяснить это поведение?Я подумал, может быть, эта функция просто не применима к текстовым узлам, но она отлично работает в других сценариях.Только после звонка splitText
его тошнит.
Я благодарю всех за помощь!До сих пор моего Google-фу было недостаточно.
ДОПОЛНЕНИЕ:
После просмотра объекта newTextNode появилось больше свойств, которые оцениваются как "Неверная функция"
- data
- length
- nodeValue
- textContent
- wholeText