jQuery $(document).ready() 等价于 JavaScript
答案:使用 DOMContentLoaded
事件
您可以利用 JavaScript Window 的 DOMContentLoaded
事件在没有 jQuery 的情况下构造等效的 $(document).ready()
。 此事件在初始 HTML 文档已完全加载和解析时触发,无需等待样式表、图像和子框架完成加载。
让我们看一下以下示例以了解其工作原理:
示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>$(document).ready() 相当于没有 jQuery</title>
<script>
document.addEventListener("DOMContentLoaded", function(){
/* 在段落上应用一些样式 */
document.getElementsByTagName("p")[0].style.background = "yellow";
console.log("DOM 已经完全加载和解析。");
});
</script>
</head>
<body>
<h1>这是一个标题</h1>
<p>这是一个简单的文本段落。</p>
</body>
</html>
请注意,DOMContentLoaded
与加载整个页面时触发的 load
事件不同。load
事件应该只在你想检测一个完全加载的页面时使用,包括所有的依赖资源,如 CSS、图像等。
FAQ 相关问题解答
以下是与此主题相关的更多常见问题解答: