javascript - "innerHTML"是否依赖于事件处理程序?

标签 javascript html

第一个:

function change(){
    document.getElementById("clr").style.backgroundColor="red";
    document.getElementById("test1").innerHTML="hwllo world";
}

第二个:

document.getElementById("test1").innerHTML="hwllo world";

第一个工作正常。但是当文件加载时,第二个不起作用。

最佳答案

Javascript 和 HTML 渲染按照它们在文件中找到的顺序执行。因此,如果您在渲染 HTML 元素之前执行一段 JS,那么 JS 代码将无法工作。

<小时/>

这将失败:

<script>
  document.getElementById("test1").innerHTML="hwllo world";
</script>
<div id="test1"></div>
<小时/>

这将按预期工作:

<div id="test1"></div>
<script>
  document.getElementById("test1").innerHTML="hwllo world";
</script>
<小时/>

或者,您可以使用各种 onload 和 dom read 事件来确保您的脚本在所有 HTML 渲染完成后执行:

<script>
  window.onload = function(){
    document.getElementById("test1").innerHTML="hwllo world";
  }
</script>
<div id="test1"></div>

关于javascript - "innerHTML"是否依赖于事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16807419/

相关文章:

javascript - 延迟加载 vs Combine/Minify vs CDN Javascript (AngularJS)

javascript - Javascript 中复选框的 Click 事件

jquery - 为什么 jQuery html() 方法忽略换行符?

html - UL 不以 div 为中心

javascript - 如果已达到最大高度,则渲染多个内联元素

javascript - 禁用浏览器控制台

php - 使用 php echo 语句构建 JSON

javascript - 关闭覆盖 DOM 元素后链接导航短暂被阻止

html - Bootstrap 轮播在最后一张幻灯片后消失

javascript - 如何使用 JavaScript 重定向到主页