我理解的Dom

简介: 一、Dom 的基本概念1、Dom:Document Object Model 文档对象模型;2、Dom 是W3C组织推荐的处理可扩展标记语言的标准编程接口;

一、Dom 的基本概念

1DomDocument Object Model 文档对象模型;

2Dom W3C组织推荐的处理可扩展标记语言的标准编程接口

3、注意:


它可被任何编程语言诸如 Java、JavaScript和 VBScript 使用,只需要实现Dom规范。


  通过Dom,可以访问所有的 HTML元素,连同它们所包含的文本和属性。可以对其中的内容进行修改和删除,同时也可以创建新的元素。


  在JS中,我们通过使用Dom规范,使用JS语言来处理HTML界面;


二、什么是Dom对象


在解释Dom对象之前,先要解释一下什么是Js对象。


  1、JS对象官方解释:


  JavaScript中的所有事物都是对象:字符串、数字、数组、日期,等等。


  在 JavaScript 中,对象是拥有属性和方法的数据。


  比如:声明一个 JavaScript 变量时:


  vartxt = "Hello";


  这时已经创建了一个 JavaScript 字符串对象。字符串对象拥有内建的属性length。对于上面的字符串来说,我们可以设置length的值是 5。字符串对象同时拥有若干个内建的方法。


  属性:


  txt.length=5


  方法:


  txt.indexOf()


  txt.replace()


  txt.search()


  那么,什么是Dom对象呢?


  在JS中通过Dom拿到HTML中的标签,为DOM对象,它定义了访问HTML/XML文档对象的一套属性、方法和事件。


比如:


(1)打开网页后,首先看到的是浏览器窗口,即顶层的window对象。


(2)其次,看到的是网页文档的内容,即document文档。


(3)定位对象:


  window.document.myform.text1


 或


  document.myform.text1


  因为window窗口对象是所有页面的根对象,所以常常省略。我们在代码中经常会写成:


  vartemp1= document.getElementById('btn');


  vartemp2 = document.getElementsByName('btn');


  这就是在获取Dom中的对象,并获取它的属性;


三、注册Dom事件


Dom内部提供了很多个事件可以使用,比如:onclick


使用方法:

1、动态注册:

<input type="button" id="btnShow2"value="显示" />
<script>
//推荐使用这种方法注册事件
//好处:实现了代码分离(html和js);可以使用this
document.getElementById('btnShow2').οnclick= function () {
alert(this.value);
}
//这里使用了匿名函数,动态加载
</script>


2、直接在html元素上注册

<html>  
<head>  
</head>  
<body>  
<p id="p">点击按钮就执行displayDate()函数</p>  
<button id="id" οnclick="displayDate()">点击</button>//在此处onclick中只需要写出事件发生后对应处理的js代码即可  
<script>  
function displayDate(){  
document.getElementById("p").innerHTML="fighting";  
};  
</script>  
</body>  
</html>  

Onload 事件加载

事件Onload:当所有节点及节点的内容加载完成后,会触发此事件;

<script>
//页面中的所有节点加载完成后,会触发此事件
οnlοad= function () {
//当节点存在后,找到并注册点击事件
document.getElementById('span1').οnclick= function () {
alert('ok');
}
 }
</script>
<body>
<span id="span1">点击显示</span>
</body>

总结:

JS中,我们通过使用Dom规范,使用JS语言来处理HTML界面;

因为在代码中实践的欠缺,所以,只是对概念有了些许的理解,希望大家包含。













相关文章
|
6月前
|
人工智能 IDE API
还在配置规则文件和智能体?Roo Commander:预置90+领域专家,开箱即用的AI编程新体验
Roo指挥官是一款创新AI编程助手,通过智能调度90多位虚拟技术专家,实现对复杂项目的自主规划与高效执行。用户无需手动选择专家或反复调整提示,只需提交需求,系统即可自动分析、拆解任务并协调最合适的技术角色完成开发。文中以构建3D互动简历为例,展示了其从需求分析到项目落地的全流程自动化能力,显著提升开发效率,开启AI驱动的智能化编程新体验。
394 0
|
存储 XML JavaScript
前端(十四)——DOM节点操作手册:你需要了解的一切
前端(十四)——DOM节点操作手册:你需要了解的一切
350 0
|
小程序 JavaScript 前端开发
使用gulp解决小程序代码包过大问题
使用gulp解决小程序代码包过大问题
336 0
|
2天前
|
云安全 人工智能
2025,阿里云安全的“年度报告”
拥抱AI时代,阿里云安全为你护航~
1439 1
|
9天前
|
云安全 人工智能 算法
以“AI对抗AI”,阿里云验证码进入2.0时代
三层立体防护,用大模型打赢人机攻防战
1415 10
|
9天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
1330 7
|
10天前
|
人工智能 Rust 运维
这个神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
加我进AI讨论学习群,公众号右下角“联系方式”文末有老金的 开源知识库地址·全免费
1208 15
|
4天前
|
人工智能 前端开发 API
Google发布50页AI Agent白皮书,老金帮你提炼10个核心要点
老金分享Google最新AI Agent指南:让AI从“动嘴”到“动手”。Agent=大脑(模型)+手(工具)+协调系统,可自主完成任务。通过ReAct模式、多Agent协作与RAG等技术,实现真正自动化。入门推荐LangChain,文末附开源知识库链接。
454 118
|
2天前
|
机器学习/深度学习 测试技术 数据中心
九坤量化开源IQuest-Coder-V1,代码大模型进入“流式”训练时代
2026年首日,九坤创始团队成立的至知创新研究院开源IQuest-Coder-V1系列代码大模型,涵盖7B至40B参数,支持128K上下文与GQA架构,提供Base、Instruct、Thinking及Loop版本。采用创新Code-Flow训练范式,模拟代码演化全过程,提升复杂任务推理能力,在SWE-Bench、LiveCodeBench等基准领先。全阶段checkpoint开放,支持本地部署与微调,助力研究与应用落地。
332 1

热门文章

最新文章