JavaScript文档innerHTML未获取文本
因此,当使用JavaScript加载页面时,我有一个正在编写的值。我希望获得该值以供使用,因此我从第二个JS文件执行document.getElementById(“”.innerHTML我的问题是价值没有被攫取。 我在获取值后添加了一个单词(这都是在第二个JS文件中完成的)进行检查。刷新页面后,只显示单词,而不是预期值+单词 此外,单词仅显示一瞬间,然后被值覆盖。我怀疑第二个JS文件是在第一个JS文件之前加载的,因为第一个JS文件是在之后加载的,所以值还没有写入,所以第二个JS文件无法获取它 我不确定我的怀疑是否准确,但如果准确,我有什么办法解决这个问题吗?如果没有,我在这里遇到的问题是什么 下面是我的html文件的主体,其中写入了值:JavaScript文档innerHTML未获取文本,javascript,html,text,Javascript,Html,Text,因此,当使用JavaScript加载页面时,我有一个正在编写的值。我希望获得该值以供使用,因此我从第二个JS文件执行document.getElementById(“”.innerHTML我的问题是价值没有被攫取。 我在获取值后添加了一个单词(这都是在第二个JS文件中完成的)进行检查。刷新页面后,只显示单词,而不是预期值+单词 此外,单词仅显示一瞬间,然后被值覆盖。我怀疑第二个JS文件是在第一个JS文件之前加载的,因为第一个JS文件是在之后加载的,所以值还没有写入,所以第二个JS文件无法获取它
<body onload="update()">
<div id="height"></div>
<ul class="board list-group" style="overflow:hidden">
<div id="lb"></div>
</ul>
</body>
</html>
下面是我在第二个JS文件中尝试获取该值的部分:
max = 1000;
temp = document.getElementById("height").innerHTML;
document.getElementById("height").innerHTML += temp + "test";
offset = min = 0;
pressed = false;
在您的第一个JS文件中,您似乎正在使用Ajax调用,这通常需要一些时间才能完成。无论第一个文件的成功函数是否完成,都将调用第二个脚本
为了安全起见,您应该仅在页面(包括第二个js脚本)加载后触发Ajax调用(->将其打包到函数
update()
)。在第二个JS文件中,您应该将所需的操作封装到另一个函数中(update2()
)。然后应该从第一个JS文件的success函数中调用此函数 谢谢,我会尝试一下,然后再给你回复。我知道,这是主动提出的建议,但也许你应该考虑使用jQuery。它确实使Ajax和DOM操作变得更加容易真的吗?我刚开始学习,JavaScript看起来不那么可怕,所以我还没有研究jQuery。但我会调查的,谢谢你的建议。而且,您的解决方案非常有效,非常感谢。
max = 1000;
temp = document.getElementById("height").innerHTML;
document.getElementById("height").innerHTML += temp + "test";
offset = min = 0;
pressed = false;