Почему null продолжает возвращаться при получении nodeValue, даже если он отображается правильно? - PullRequest
0 голосов
/ 02 сентября 2011

Это сводит меня с ума. Я вставляю код на страницу через Ajax. После того, как код вставлен, я запускаю функцию для захвата текста одного из DIV и отображения его в другом месте на странице.

Может кто-нибудь сказать мне, почему я продолжаю получать ошибку JavaScript, говоря, что currentText является нулевым, хотя текст правильно отображается в другом месте на странице ??

var currentText = document.getElementById("current-text"),
updatedTextHere = document.getElementById("updated-text-here");

updatedTextHere.innerHTML = currentText.firstChild.nodeValue;

Это код, из которого он получает текстовое значение, которое вставляется на главную страницу через Ajax:

<div id="current-text" class="hide">January 1, 2011</div>

UPDATE:

Вот как это выглядит:

getDate = function () {
    var currentText = document.getElementById("current-text"),
    updatedTextHere = document.getElementById("updated-text-here");

    updatedTextHere.innerHTML = currentText.firstChild.nodeValue;
},

htmlready = function () {
    myDiv.innerHTML = xmlRequest.responseText;
    getDate();
},

1 Ответ

3 голосов
/ 02 сентября 2011

Проблема в том, что firstChild не является узлом currentText. Ваш nodeValue не имеет значения, потому что он не существует. Вы должны использовать innerHTML или textContent вместо.

Изменить на ...

updatedTextHere.innerHTML = currentText.firstChild.textContent; // or innerHTML
...