当前位置: 首页 > ops >正文

HTML 和 JavaScript 关联的基础教程

HTML 和 JavaScript 是构建现代网页的核心技术。HTML 负责页面结构,JavaScript 负责动态交互。以下是两者的基本关联方式。

内联方式:直接在 HTML 中嵌入 JavaScript

在 HTML 文件中,可以通过 <script> 标签直接编写 JavaScript 代码。这种方式适合小型脚本或快速测试。

<!DOCTYPE html>
<html>
<head><title>内联 JavaScript 示例</title>
</head>
<body><h1 id="demo">Hello World!</h1><button onclick="changeText()">点击我</button><script>function changeText() {document.getElementById("demo").innerHTML = "文本已改变!";}</script>
</body>
</html>

外部引入:链接独立的 JavaScript 文件

对于复杂的逻辑,通常将 JavaScript 代码保存在独立的 .js 文件中,然后通过 <script> 标签的 src 属性引入。

HTML 文件(index.html):

<!DOCTYPE html>
<html>
<head><title>外部 JavaScript 示例</title>
</head>
<body><h1 id="demo">Hello World!</h1><button onclick="changeText()">点击我</button><!-- 引入外部 JavaScript 文件 --><script src="script.js"></script>
</body>
</html>

JavaScript 文件(script.js):

function changeText() {document.getElementById("demo").innerHTML = "文本已改变!";
}

事件监听:通过 JavaScript 动态绑定事件

除了在 HTML 中直接绑定事件(如 onclick),还可以通过 JavaScript 动态添加事件监听器,这种方式更灵活且易于维护。

<!DOCTYPE html>
<html>
<head><title>事件监听示例</title>
</head>
<body><h1 id="demo">Hello World!</h1><button id="myButton">点击我</button><script>document.getElementById("myButton").addEventListener("click", function() {document.getElementById("demo").innerHTML = "文本已改变!";});</script>
</body>
</html>

DOM 操作:动态修改 HTML 内容

JavaScript 可以通过 DOM(文档对象模型)接口动态修改 HTML 元素的内容、样式或结构。

<!DOCTYPE html>
<html>
<head><title>DOM 操作示例</title>
</head>
<body><h1 id="demo">Hello World!</h1><button id="myButton">点击我</button><script>const button = document.getElementById("myButton");const heading = document.getElementById("demo");button.addEventListener("click", function() {heading.innerHTML = "文本已改变!";heading.style.color = "red";});</script>
</body>
</html>

异步加载:延迟或异步执行脚本

通过 <script> 标签的 deferasync 属性,可以控制脚本的加载和执行时机,优化页面性能。

<!DOCTYPE html>
<html>
<head><title>异步加载示例</title><!-- 延迟执行,等到 HTML 解析完成后再运行 --><script src="script.js" defer></script>
</head>
<body><h1 id="demo">Hello World!</h1><button id="myButton">点击我</button>
</body>
</html>

总结

HTML 和 JavaScript 的关联方式多种多样,可以根据需求选择适合的方法。内联方式适合简单脚本,外部引入适合复杂逻辑,事件监听和 DOM 操作则提供了更高的灵活性和控制力。

http://www.xdnf.cn/news/19043.html

相关文章:

  • LeetCode 刷题【56. 合并区间】
  • Linux - 中文显示乱码问题解决方法(编码查看及转换)- 学习/实践
  • 【Spring Cloud微服务】6.通信的利刃:深入浅出 Spring Cloud Feign 实战与原理
  • 智能体开发:学习与实验 ReAct
  • web端播放flv视频流demo(flv.js的使用)
  • API 月度更新汇总:ONLYOFFICE 协作空间文档
  • 【RAG Agent实战】告别“单线程”RAG:用查询理解与LangGraph构建能处理复杂意图的高级代理
  • WPF+IOC学习记录
  • 学习Java30天(tcp的多开客户端和bs架构以及java高级)
  • 群核科技--SpatialGen
  • 毕马威 —— 公众对人工智能的信任、态度及使用情况调查
  • OpenHarmony设备使用统计深度实战:从数据埋点到信息采集的全链路方案
  • matlab利用模糊算法控制PID参数实现模糊控制
  • echo、seq、{}、date、bc命令
  • Shell 秘典(卷二)——号令延展秘术 与 流程掌控心法・if 天机判语篇精解
  • SpringMvc下
  • log4jshell CVE-2021-44228 复现
  • 智能标签分类:新一代任务管理工具的进化方向
  • LangChain如何使用通义千问的向量模型
  • 【C语言入门级教学】sizeof和strlen的对⽐
  • Java使用apache.commons.math3的DBSCAN实现自动聚类
  • HTML 核心标签全解析:从文本排版到媒体嵌入
  • vue3中安装tailwindcss
  • C++函数继承
  • docker 搭建zookper集群,快照虚拟机多机模拟
  • 园区智慧水电管理系统:让能源管理从“成本黑洞”变“利润引擎”
  • 【实时Linux实战系列】实时数据可视化技术实现
  • 【机器学习】 12 Latent linear models
  • 【拍摄学习记录】03-曝光
  • 解决通过远程桌面访问ubuntu20.04出现的异常问题