我有这个.js代码:
var test = document.getElementById('box').innerHTML;
和这个HTML代码
<textarea id="box">testing</textarea>
<div>
<?php echo '<script>document.writeln(test)</script>' ?>
</div>
我期待div
显示testing
,但相反,我得到undefined
结果。但是,当我将var test
更改为:
var test = "this is just a test";
div
完全显示var test
值。谁能解释那里发生了什么?
答案 0 :(得分:5)
问题在于:
var test = document.getElementById('box').innerHTML;
页面加载后正在运行,因此,未定义测试。另一个脚本首先运行,因为它首先被找到。
如果你真的想这样做,你可以做这样的事情。在您要定位的HTML元素之后立即放置定义测试的脚本。这将定义变量test
。
<textarea id="box">testing</textarea>
<script>var test = document.getElementById('box').innerHTML;</script>
<div>
<script>document.writeln(test)</script>
</div>
&#13;