我有这个.js代码:
var test = document.getElementById('box').innerHTML;
Run Code Online (Sandbox Code Playgroud)
和这个HTML代码
<textarea id="box">testing</textarea>
<div>
<?php echo '<script>document.writeln(test)</script>' ?>
</div>
Run Code Online (Sandbox Code Playgroud)
我期待着它div的表现,testing但相反,我得到了undefined结果.但是,当我var test改为:
var test = "this is just a test";
Run Code Online (Sandbox Code Playgroud)
这div显示了var test价值.谁能解释那里发生了什么?
问题是:
var test = document.getElementById('box').innerHTML;
Run Code Online (Sandbox Code Playgroud)
在页面加载后正在运行,因此,未定义测试.另一个脚本首先运行,因为它首先被找到.
如果你真的想这样做,你可以做这样的事情.在您要定位的HTML元素之后立即放置定义测试的脚本.那将定义变量test.
<textarea id="box">testing</textarea>
<script>var test = document.getElementById('box').innerHTML;</script>
<div>
<script>document.writeln(test)</script>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48 次 |
| 最近记录: |