JavaScript文档innerHTML没有获取文本

时间:2015-07-18 08:31:26

标签: javascript html text

因此,当使用JavaScript加载页面时,我有一个值。我想获得该值,因此我从第二个JS文件中执行document.getElementById(“”)。innerHTML。 我的问题是没有抓住价值。

我通过在获取值后添加一个单词来检查(这是在第二个JS文件中完成的)。刷新页面后,仅显示单词,而不是预期值+单词。

此外,该单词仅显示片刻,然后被该值覆盖。我怀疑第二个JS文件是在第一个JS文件之前被加载的,并且自从第一个JS文件被加载之后,该值尚未被写入,因此第二个JS文件无法获取它。

我不确定我的怀疑是否准确,但如果是的话,我有什么方法可以解决这个问题吗?如果没有,我在这里遇到的问题是什么?

这是我的html文件的正文,其中写入了值:

<body onload="update()">
  <div id="height"></div>
  <ul class="board list-group" style="overflow:hidden">
    <div id="lb"></div>
  </ul>
</body>  
</html>

这是我的第一个JS文件的一部分,我正在编写我想要的值:

xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
      resultString = xmlhttp.responseText;
      arrayInfo = resultString.split(";");
      document.getElementById("height").innerHTML = arrayInfo.length;
    }
};

这是我的第二个JS文件中的部分,我试图获取该值:

max = 1000; 
temp = document.getElementById("height").innerHTML;
document.getElementById("height").innerHTML += temp + "test";
offset = min = 0;  
pressed = false;

1 个答案:

答案 0 :(得分:0)

在您的第一个JS文件中,您似乎正在使用Ajax调用,这通常需要一些时间才能完成。无论第一个文件的成功功能是否完成,都将调用第二个脚本。

为了安全起见,只有在加载页面(包括第二个js脚本)之后才启动Ajax调用( - &gt;将其打包到函数update()中)。在您的第二个JS文件中,您应该将所需的操作封装到另一个函数(update2())中。然后应该从第一个JS文件的success函数中调用此函数。