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

Java Web学习笔记15——DOM对象

DOM:

概念:Document Object Model: 文档对象模型

将标记语言的各个组成部分封装为对应的对象:

Document:  整个文档对象

Element:元素对象

Attribute: 属性对象

Text:文本对象

Comment:注释对象

JavaScript通过DOM,就能够对HTML进行操作:

1)改变HTML元素的内容;

2)改变HTML元素的样式;

3)对HTML DOM事件作出反应;

4)添加和删除HTML元素;

DOM是W3C的标准,定义了访问HTML和XML文档的标准,分为3个不同的部分。

Core DOM - 所有文档类型的标准模型。

Document:整个文档对象

Element:元素对象

Attribute:属性对象

Text:文本对象

Comment:注释对象

XML DOM - XML文档的标准类型

HTML DOM - HTML 文档的标准模型

将所有的标签都包装成对象。

image: <img>

Button: <input type="button">

HTML中Element对象可以通过Document对象获取,而Document对象是通过Window对象获取的。

Document对象中提供了以下获取Element元素对象的函数:

获取Element元素的四种方式:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>JS-对象-DOM</title>
</head><body><img id="h1" src="img/off.gif">  <br><br><div class="cls">传智教育</div>   <br><div class="cls">黑马程序员</div>  <br><input type="checkbox" name="hobby"> 电影<input type="checkbox" name="hobby"> 旅游<input type="checkbox" name="hobby"> 游戏
</body><script>// 1. 获取Element元素// 1.1 获取元素- 根据ID获取 // var image = document.getElementById('h1');// alert(image);// 1.2 获取元素 - 根据标签获取// var divs = document.getElementsByTagName('div');// for(let i = 0; i < divs.length; i++) {//     alert(divs[i]);// }// 1.3 获取元素 - 根据name获取// var hobbys = document.getElementsByName('hobby');// for(let i = 0; i < hobbys.length; i++) {//     alert(hobbys[i]);// }// 1.4 获取元素 - 根据class属性获取var divs = document.getElementsByClassName('cls');for(let i = 0; i < divs.length; i++) {alert(divs[i]);}</script>
</html>

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>JS-对象-DOM</title>
</head><body><img id="h1" src="img/off.gif">  <br><br><div class="cls">传智教育</div>   <br><div class="cls">黑马程序员</div>  <br><input type="checkbox" name="hobby"> 电影<input type="checkbox" name="hobby"> 旅游<input type="checkbox" name="hobby"> 游戏
</body><script>// 1. 获取Element元素// 1.1 获取元素- 根据ID获取 // var image = document.getElementById('h1');// alert(image);// 1.2 获取元素 - 根据标签获取// var divs = document.getElementsByTagName('div');// for(let i = 0; i < divs.length; i++) {//     alert(divs[i]);// }// 1.3 获取元素 - 根据name获取// var hobbys = document.getElementsByName('hobby');// for(let i = 0; i < hobbys.length; i++) {//     alert(hobbys[i]);// }// 1.4 获取元素 - 根据class属性获取// var divs = document.getElementsByClassName('cls');// for(let i = 0; i < divs.length; i++) {//     alert(divs[i]);// }// 2. 查询参考手册,属性和方法var divs = document.getElementsByClassName('cls');var div1 = divs[0];div1.innerHTML = "传智教育666";</script>
</html>

案例:

通过DOM操作,完成如下效果:

1、点亮灯泡;

2、将所有的div标签的标签体内容后面加上:very good;

3、使所有的复选框呈现选中的状态。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>JS-对象-DOM-案例</title>
</head><body><img id="h1" src="img/off.gif">  <br><br><div class="cls">传智教育</div>   <br><div class="cls">黑马程序员</div>  <br><input type="checkbox" name="hobby"> 电影<input type="checkbox" name="hobby"> 旅游<input type="checkbox" name="hobby"> 游戏
</body><script>//1. 点亮灯泡 src的属性值var image = document.getElementById('h1');image.src = "img/on.gif";//2. 将所有div标签的内容后面加上var divs = document.getElementsByTagName('div');for(let i = 0; i < divs.length; i++) {const div = divs[i];div.innerHTML += "<font color='red'>very good</font>"; }//3. 使所有的复选框呈现选中状态var hobbys = document.getElementsByName('hobby');for(let i = 0; i < hobbys.length; i++) {const hobby = hobbys[i];hobby.checked = true;}</script>
</html>

两步操作:

1)获取需要操作的元素对象;

2)查找参考手册,查看这些元素的属性和方法,来完成元素的控制。

属性和方法,就是对象思想。

http://www.lryc.cn/news/365354.html

相关文章:

  • 中电联系列一:rocket手把手教你理解中电联协议!
  • (面试官问我微服务与naocs的使用我回答了如下,面试官让我回去等通知)微服务拆分与nacos的配置使用
  • 冯喜运:6.7今日黄金原油行情分析及独家操作策略
  • Android 蓝牙概述
  • Python3 笔记:字符串的 find()、rfind()、index()、rindex()
  • 【研发日记】Matlab/Simulink软件优化(二)——通信负载柔性均衡算法
  • Python 设计模式(行为型)
  • 电商API商品数据采集接口||助力电商企业采集商品大数据提高开发效率
  • Day34 事件聚合器实现消息过滤功能
  • 前端 JS 经典:Reflect 本质
  • accelerate 的一个tip:early stopping 处可能存在的bug
  • 企业数据挖掘建模平台极简建模流程
  • 使用pkg打包了一个使用了sqlite3的nodejs项目,启动后闪退
  • 网络编程(UPD和TCP)
  • cesium 之 flyTo、setView、lookat
  • 超速解读多模态InternVL-Chat1.5 ,如何做到开源SOTA——非官方首发核心技巧版(待修订)
  • Vue 组件_动态组件+keep-alive
  • 深入理解Redis:多种操作方式详解
  • stm32太阳能追光储能系统V2
  • Docker笔记-解决非交互式运行python时print不输出的问题
  • 06- 数组的基础知识详细讲解
  • CentOS6系统因目录有隐含i权限属性致下属文件无法删除的故障一例
  • 【视频转码】ZLMediaKit漏洞报告的问题
  • 100道大模型面试八股文
  • 【ARM Cache 及 MMU 系列文章 6.2 -- ARMv8/v9 Cache 内部数据读取方法详细介绍】
  • 使用Vue.js将form表单传递到后端
  • 6、架构-服务端缓存
  • 服务器遭遇UDP攻击时的应对与解决方案
  • 美团发布2024年一季度财报:营收733亿元,同比增长25%
  • sql注入-布尔盲注