0

这让我发疯了。我正在通过 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>

更新:

这是它的外观:

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();
},
4

1 回答 1

3

您遇到的问题是它firstChild不是currentText. 你nodeValue没有价值,因为它不存在。您应该使用innerHTMLortextContent代替。

改成...

updatedTextHere.innerHTML = currentText.firstChild.textContent; // or innerHTML
于 2011-09-02T15:40:43.963 回答