【Web 前端】$(document).ready() 是个什么函数?为什么要用它?

简介: 【5月更文挑战第2天】【Web 前端】$(document).ready() 是个什么函数?为什么要用它?

image.png

$(document).ready() 函数详解

在深入了解 $(document).ready() 函数之前,我们先了解一下 HTML 和 JavaScript 的加载过程。当浏览器加载一个 HTML 页面时,它会逐行解析 HTML 代码并渲染页面。在解析过程中,如果遇到 <script> 标签,浏览器会立即下载并执行 JavaScript 代码,这可能会导致 JavaScript 代码在页面元素完全加载之前运行。这就会导致一些问题,例如尝试在页面上操作尚未加载的元素,或者尝试在元素尚不存在时绑定事件。

为了解决这些问题,jQuery 提供了 $(document).ready() 函数,它允许我们在文档完全加载后再执行 JavaScript 代码。下面我们详细分析一下这个函数。

1. $(document).ready() 函数是什么?

$(document).ready() 是 jQuery 提供的一个函数,用于在 DOM 加载完毕后执行 JavaScript 代码。它的作用是确保在文档完全加载后再执行代码,以便能够正确地操作页面元素。

2. 为什么要用 $(document).ready() 函数?

在开发 Web 应用时,我们经常需要在页面加载完成后执行一些 JavaScript 操作,例如操作 DOM 元素、绑定事件、执行动画等。如果我们直接将 JavaScript 代码放在 <script> 标签中,可能会导致代码在页面元素加载完成之前就执行,从而导致操作失败或产生意料之外的结果。

$(document).ready() 函数的出现就是为了解决这个问题。通过使用该函数,我们可以确保 JavaScript 代码在页面完全加载后再执行,避免了因为元素尚未加载完成而导致的问题。

3. 示例代码

下面是一个使用 $(document).ready() 函数的示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Using $(document).ready()</title>
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
  <div id="content">This is the content</div>

  <script>
    $(document).ready(function() {
    
    
      // 在文档加载完成后修改内容
      $('#content').text('Content has been changed');
    });
  </script>
</body>
</html>

在上面的示例中,我们使用 $(document).ready() 函数包裹了一个函数,在函数内部修改了 idcontent 的元素的文本内容。这样,在页面加载完成后,jQuery 会自动执行这个函数,确保修改操作在页面元素完全加载后执行。

4. 总结

$(document).ready() 函数是 jQuery 提供的一个重要工具,用于确保 JavaScript 代码在页面完全加载后再执行。通过使用这个函数,我们可以避免因为页面元素尚未加载完成而导致的操作失败或意料之外的结果。在开发 Web 应用时,建议始终使用 $(document).ready() 函数来执行页面加载完成后的 JavaScript 操作,以确保代码的正确执行。

相关文章
|
13天前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
27 3
|
10天前
|
监控 前端开发 JavaScript
探索微前端架构:构建可扩展的现代Web应用
【10月更文挑战第29天】本文探讨了微前端架构的核心概念、优势及实施策略,通过将大型前端应用拆分为多个独立的微应用,提高开发效率、增强可维护性,并支持灵活的技术选型。实际案例包括Spotify和Zalando的成功应用。
|
14天前
|
前端开发 JavaScript
Bootstrap Web 前端 UI 框架
Bootstrap 是快速开发 Web 应用程序的前端工具包。
29 3
|
14天前
|
前端开发 安全 应用服务中间件
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第26天】随着互联网的快速发展,前端性能调优成为开发者的重要任务。本文探讨了HTTP/2与HTTPS在前端性能优化中的应用,介绍了二进制分帧、多路复用和服务器推送等特性,并通过Nginx配置示例展示了如何启用HTTP/2和HTTPS,以提升Web应用的性能和安全性。
16 3
|
14天前
|
前端开发 JavaScript API
前端框架新探索:Svelte在构建高性能Web应用中的优势
【10月更文挑战第26天】近年来,前端技术飞速发展,Svelte凭借独特的编译时优化和简洁的API设计,成为构建高性能Web应用的优选。本文介绍Svelte的特点和优势,包括编译而非虚拟DOM、组件化开发、状态管理及响应式更新机制,并通过示例代码展示其使用方法。
32 2
|
15天前
|
开发框架 前端开发 JavaScript
Web前端框架
Web前端框架等名词
15 2
|
28天前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
119 2
|
28天前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
36 0
|
28天前
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
|
28天前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。