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

JavaWeb系列四: DOM 上

DOM

  • 官方文档
  • 基本介绍
  • HTML DOM(文档对象模型)
  • document对象
    • 基本说明
    • document对象方法一览
  • 应用实例1: 点击文本, 弹出窗口
  • 应用实例2: 多选框案例
  • 应用示例3: 图片切换案例
  • 应用案例4: 添加小猫图片案例

官方文档

地址: https://www.w3school.com.cn/js/js_htmldom.asp

离线文档: W3School离线手册(2017.03.11版)

基本介绍

1.DOM 全称是 Document Object Model 文档对象模型;

2.就是将文档中的标签, 属性, 文本转换成对象来管理;
在这里插入图片描述

HTML DOM(文档对象模型)

1.当网页被加载时, 浏览器会创建页面的文档对象模型(Document Object Model).

2.HTML DOM 树 对象[属性, 方法/函数].

在这里插入图片描述

document对象

基本说明

1.document 它管理了所有的HTML 文档内容;

2.document 它是一种树结构的文档;

3.有层级关系, 在 dom中把所有的标签都 对象化;

4.通过document 可以访问所有的标签对象;

document对象方法一览

文档地址: https://www.w3school.com.cn/js/js_htmldom_document.asp

在这里插入图片描述

应用实例1: 点击文本, 弹出窗口

1.创建dom/getElementById.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>getElementById的使用</title><script type="text/javascript">var myH1 = function () {//通过id获取h1标签的dom对象, 对dom对象进行操作var myHeader = document.getElementById("myHeader");alert(myHeader);//[object HTMLHeadingElement]alert(myHeader.textContent);//hello, worldalert(myHeader.innerText);//hello, worldalert(myHeader.innerHTML);//<div>hello, world</div>}window.onload = function () {//通过id获取p标签的dom对象, 对dom对象进行操作var p1 = document.getElementById("p1");p1.onclick = function () {alert(p1);//[object HTMLParagraphElement]alert(p1.textContent)//hello, worldalert(p1.innerText);//hello, worldalert(p1.innerHTML);//<a>hello, world</a>}}</script>
</head>
<body>
<!--静态注册-->
<h1 id="myHeader" onclick="myH1()"><div>hello, world</div></h1>
<!--动态注册-->
<p id="p1"><a>hello, world</a></p>
</body>
</html>

应用实例2: 多选框案例

1应用实例 创建dom/getElementsByName.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>getElementsByName的使用</title><script type="text/javascript">function selectAll() {//读取animations复选框的所有值var animations = document.getElementsByName("animations");//[object NodeList],是一个 NodeList 集合for(var i = 0; i < animations.length; i++) {animations[i].checked = true;}}function selectNone() {//读取animations复选框的所有值var animations = document.getElementsByName("animations");for(var i = 0; i < animations.length; i++) {animations[i].checked = false;}}function selectReverse() {var animations = document.getElementsByName("animations");for(var i = 0; i < animations.length; i++) {animations[i].checked = !animations[i].checked;}}</script>
</head>
<body>
你喜欢的动漫电影
<input type="checkbox" name="animations" value="刀剑神域">刀剑神域
<input type="checkbox" name="animations" value="一拳超人">一拳超人
<input type="checkbox" name="animations" value="鬼灭之刃">鬼灭之刃
<button onclick="selectAll()">全选</button>
<button onclick="selectNone()">全不选</button>
<button onclick="selectReverse()">反选</button>
</body>
</html>

应用示例3: 图片切换案例

1.应用案例 创建dom/getElementsByTagName.html, 做到猫狗图片切换.

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>getElementsByTagName的使用</title><script type="text/javascript">function reverseDogAndCat() {//[object HTMLCollection]var imgs = document.getElementsByTagName("img");var input1 = document.getElementById("input1");if (input1.value == "看看有多少只小猫, 切换成小狗") {for (var i = 0; i < imgs.length; i++) {imgs[i].src = "../img/" + (i + 4) + ".png";}input1.value = "看看有多少只小狗, 切换成小猫";} else if (input1.value == "看看有多少只小狗, 切换成小猫") {for (var i = 0; i < imgs.length; i++) {imgs[i].src = "../img/" + (i + 1) + ".png";}input1.value = "看看有多少只小猫, 切换成小狗";}}</script>
</head>
<body>
<img src="../img/1.png" width="200">
<img src="../img/2.png" width="200">
<img src="../img/3.png" width="200"><br/><br/>
<input type="button" id="input1" onclick="reverseDogAndCat()" value="看看有多少只小猫, 切换成小狗">
</body>
</html>

应用案例4: 添加小猫图片案例

1.应用案例 创建dom/createElements.html,创建一只小猫, 展示在页面

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>createElements的使用</title><script type="text/javascript">function addImg() {//[object HTMLImageElement]//1.在浏览器内存中 创建<img></img>, 并拿到dom对象var img = document.createElement("img");img.width = 200;//这里不要加px后缀img.src = "../img/1.png";//2.展示, 添加到 document.bodydocument.body.appendChild(img);}</script>
</head>
<body>
<input type="button" onclick="addImg()" value="点击创建一个小猫咪"/>
</body>
</html>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 多线程篇(基本认识 - 线程相关API)(持续更新迭代)
  • 数学建模笔记(四):熵权
  • 排序算法-堆排序
  • 甲方(北汽)渗透测试面试经验分享
  • Nginx: 负载均衡场景下上游服务器异常时的容错机制
  • github访问加速项目@一键部署自动更改host修改加速Github访问
  • k8s调度器Scheduler
  • Lodash——JavaScript中的工具库
  • buuctf [MRCTF2020]hello_world_go
  • 速盾:服务器接入cdn后上传图片失败怎么解决?
  • 主控和从控!!!
  • (二) 初入MySQL 【数据库管理】
  • C语言试题(含答案解析)
  • 发布npm包到GitLab教程
  • 树莓派+艺术品,有没有搞头?
  • [译] React v16.8: 含有Hooks的版本
  • Codepen 每日精选(2018-3-25)
  • IDEA 插件开发入门教程
  • Java超时控制的实现
  • JS+CSS实现数字滚动
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • log4j2输出到kafka
  • Python socket服务器端、客户端传送信息
  • Solarized Scheme
  • springboot_database项目介绍
  • vuex 笔记整理
  • 闭包,sync使用细节
  • 从零开始在ubuntu上搭建node开发环境
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 配置 PM2 实现代码自动发布
  • 如何胜任知名企业的商业数据分析师?
  • 如何选择开源的机器学习框架?
  • 一、python与pycharm的安装
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • C# - 为值类型重定义相等性
  • puppet连载22:define用法
  • Spring Batch JSON 支持
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​补​充​经​纬​恒​润​一​面​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #android不同版本废弃api,新api。
  • #Spring-boot高级
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • $ git push -u origin master 推送到远程库出错
  • ()、[]、{}、(())、[[]]命令替换
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (2)STL算法之元素计数
  • (2022 CVPR) Unbiased Teacher v2
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (十三)Maven插件解析运行机制
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)