为什么当获得nodeValue时,即使它显示正确,null也会回来

Why does null keep coming back when getting nodeValue even though it displays properly?

本文关键字:显示 null 回来 nodeValue 为什么      更新时间:2023-09-26

我快疯了。我通过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();
},

您遇到的问题是firstChild不是currentText的节点。你的nodeValue没有值,因为它不存在。您应该使用innerHTMLtextContent

改变…

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