Как вставить в textNode.textContent html-код?

Добрый вечер!
Получаю текстовую ноду из какого-либо тэга, и заменяю ее содержимое при помощи переопределения свойства textContent. Процесс получения текстовой ноды реализован на jQuery, и к сожалению, она не имеет свойств вроде innerHTML. Код приведен ниже:
// Получение текстовых нод
function getTextNode(element) {
    return $(element).addBack().contents().filter(function() {
        return this.nodeType == 3;
    });
}

// Переопределение. $target уже присвоен результат getTextNode
$target.first()[0].textContent = 'Линия текста <br /> Линия текста';

Как в процессе переопределения вставить туда html?
Буду благодарен за советы, спасибо.
  • Вопрос задан
  • 277 просмотров
Решения вопроса 1
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Никак, на то это и текстовый узел.
Но, можно поиграться с insertAdjacentHTML (хотя черть его знает, есть ли у текстовых нод этот метод, сказано "между узлами", но смущает elem в коде)!

В общем, можно исхитриться как-то так:

$.fn.getTextNode = function() {
    return this.contents().filter(function() {
        return this.nodeType == 3;
    });
}

$.fn.setTextNode = function(t){
  this.before(t).remove();
}

//Получим текстовые ноды и установим одной из них значение
$(elem).getTextNode().first().setTextNode("<div></div>");
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы