Java复习打卡day40

  • XML DOM
    • 介绍
    • 实现节点的遍历
    • 实现节点的删除
    • 属性的操作
    • 创建节点
    • 节点的复制
    • 节点的替换
    • select对象
    • table对象

XML DOM

介绍

1.基本介绍:
XML DOM 定义了访问和处理xml文档的标准方法。
XML DOM是 XML Document OObject Model 的缩写,即XML文档对象模型。
2.在学习之前,您应当具备的基础:
·HTML/XHTML
·JavaScript
·XML
如果大家在学之前没有掌握这些知识,可以查阅js 手册(网址:https://www.w3school.com.cn/xmldom/dom_intro.asp)
3.什么是DOM?
DOM是W3C(万维网联盟)的推荐标准;“DOM 是一个使程序和脚本有能力动态的访问和更新文档的内容、结构以及样式的平台和语言中立的接口。”
W3C DOM 被分为3个不同的姬别和部分:1.核心 DOM:用于结构化文档的标准模型2.XML DOM:用于 XML文档的标准模型3.·HTML DOM:用于 ·HTML文档的标准模型
DOM 定义了所有文档元素的对象和属性,以及访问他们的接口(方法)。4.什么是 ·HTML DOM?
·HTML DOM定义了所有 HTML 元素的对象和属性,以及访问他们的接口和方法。5.什么是 XML DOM?
XML DOM是:
·用于 XML的标准对象模型
·用于 XML的标准编程接口
·中立平台和语言
·W3C 的标准
XML DOM定义了xml元素的对象和属性,以及访问他们的方法和接口;
换句话说:
XML DOM是用于获取、更改、添加或删除XML元素的标准。

实现节点的遍历

<!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>Document</title>
</head>
<body><h1>XML DOM实现节点的遍历</h1><ul id="uid"><li>成龙</li><li>甄子丹</li><li>宋仲基</li><li>赵丽颖</li></ul>
</body>
<script>//HTML DOM获取文档中的所有li节点var list = document.getElementsByTagName('li');console.log('节点的数量为:' + list.length);//XML DOM获取文档中的所有节点(通过子节点获取)var list1 = document.getElementById('uid').childNodes;console.log('节点的数量为:'+list1.length);//子节点的遍历for(var i = 0; i<list1.length; i++){// console.log(list1[i].nodeType);//输出为1表示是与元素标签,输出为3表示为文本内容if(list1[i].nodeType == 1){//当输出为1时控制台输出// console.log(list1[i].innerHTML);//HTML DOM 实现文本的输出console.log(list1[i].firstChild.nodeValue);//XML DOM 实现文本的输出}}
</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>Document</title><style>ul,li{margin: 0px;padding: 0px;width: 100%;}ul li{list-style: none;background-color: #ddd;}ul li:hover{background-color: aqua;}ul li.cc{background-color: orange;}</style>
</head>
<body><h1>节点的删除</h1><ul id="uid"><li>成龙</li><li>甄子丹</li><li>李连杰</li><li>王思聪</li><li>成龙</li><li>甄子丹</li><li>李连杰</li><li>王思聪</li></ul><button onclick="doDel()">删除</button>
</body>
<script>//获取所有的li节点 并 绑定点击事件var list = document.getElementById('uid').getElementsByTagName('li');for(var i = 0; i<list.length; i++){list[i].onclick = function(){this.setAttribute('class','cc');}}//删除节点函数function doDel(){//获取当下的所有li节点var list1 = document.getElementById('uid').getElementsByTagName('li');for(var i = 0; i<list1.length; i++){//判断节点是否被点击if(list1[i].getAttribute('class') == 'cc'){list1[i].parentNode.removeChild(list1[i]);i--;//为防止删除list导致索引的变化,所以每次删除完之后将i减小1实现无遗漏。}}}
</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>Document</title>
</head>
<body><h1>XML DOM 属性操作</h1><a href="http://www.baidu.com" id="aid"></a>
</body>
<script>//获取上方的超链接var aid = document.getElementById('aid');//通过已知的HTML DOM操作实现对属性的基本操作console.log(aid.href);aid.title = '百度链接';//aid.aa = 'b';  为aid添加aa属性不可//使用XML DOM的方法为aid添加aa属性aid.setAttribute('aa','b');console.log(aid.getAttribute('aa'));//b//XML DOM提供了setAttribute 和 getAttribute方法实现对属性的操作
</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>Document</title><style>ul{list-style: none;}ul li{line-height: 30px;width: 100px;background-color: #ddd;margin-top: 2px;}</style>
</head>
<body><h1>XML DOM 创建节点</h1><ul id="uid"><li>成龙</li><li>李连杰</li><li>王思聪</li><li>甄子丹</li></ul>名称:<input type="text" id="iid" name="name" size="10"><button onclick="doAdd()">添加</button>
</body>
<script>function doAdd(){//获取输入框的内容var name = document.getElementById('iid').value;//获取ul节点var ul = document.getElementById('uid');//创建文本对象var tt = document.createTextNode(name);//创建一个li节点对象var li = document.createElement('li');//将文本对象添加到li节点中li.appendChild(tt);//将li节点添加到ul节点中//ul.appendChild(li);//后追加ul.insertBefore(li, ul.firstChild);//前追加}
</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>Document</title><style>#did{width: 400px; height: 300px; border: 1px solid blue;}img{width: 80px; border: 2px solid white;}img:hover{border: 2px solid red;}</style>
</head>
<body><h1>XML DOM 节点的复制</h1><div id="did"></div><div id="mid"><img src="./11.jpg"><img src="./22.jpg"><img src="./33.jpg"><img src="./44.jpg"></div>
</body>
<script>//获取所有的图片var ilist = document.getElementById('mid').getElementsByTagName('img');//遍历 为每一个图片对象绑定双击事件for(var i = 0; i<ilist.length; i++){ilist[i].ondblclick = function(){//获取did节点var did = document.getElementById('did');//克隆一份图片节点,并添加到did节点中did.appendChild(this.cloneNode());}}
</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>Document</title><style>#did{width: 400px;height: 300px; border: 1px solid blue;}#did img{width: 400px;}#mid img{width: 80px; margin: 2px; border: 2px solid white;}#mid img:hover{border: 2px solid red;}</style>
</head>
<body><h1>XML DOM 节点的替换</h1><div id="did"><img src="./11.jpg"></div><div id="mid"><img src="./11.jpg"><img src="./22.jpg"><img src="./33.jpg"><img src="./44.jpg"></div>
</body>
<script>//获取did节点下的img图片var did = document.getElementById('did');//获取mid节点下的所有img图片var mlist = document.getElementById('mid').getElementsByTagName('img');//遍历为每一个mlist中的img对象添上双击事件for(var i = 0; i<mlist.length; i++){mlist[i].ondblclick = function(){did.replaceChild(this.cloneNode(),did.firstChild);//子节点替换}}</script>
</html>

select对象

<!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>Document</title><style>select{width: 100px;height: 200px;border: 1px solid #ddd;float: left;}div{width: 100px;height: 200px;float: left;text-align: center;padding: 50px;}</style>
</head>
<body><h1>javascript语言 XML DOM操作--select对象</h1><select id="sid1" size="10" multiple><option value="0">张三</option> <option value="1">李四</option><option value="2">王二</option><option value="3">麻子</option><option value="4">成龙</option><option value="5">甄子丹</option><option value="6">王思聪</option><option value="7">李连杰</option></select><div><button onclick="doMove('sid1','sid2')">>></button><br><br><br><br><button onclick="doMove('sid2','sid1')"><<</button></div><select id="sid2" size="10" multiple></select>
</body>
<script>function doMove(d1, d2){//获取两个现实框节点对象var select1 = document.getElementById(d1);var select2 = document.getElementById(d2);//获取select1下的所有option节点var list = document.getElementsByTagName('option');for(var i = 0; i<list.length; i++){if(list[i].selected){//判断是否被选中list[i].selected = false;select2.appendChild(list[i]);//这一步实现了将select1中的元素追加到了select2中。i--;//防止产生漏移}}}
</script>
</html>

table对象

<!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>Document</title>
</head>
<body><h1>JavaScript语言中XML DOM 操作-table对象</h1><table id="tid" width="500px" border="1px"><thead><tr><th>姓名</th><th>学号</th><th>性别</th><th>年龄</th><th>删除</th></tr></thead><tbody><tr><td>张三</td><td>0</td><td>男</td><td>17</td><td><button onclick="doDel(this)">删除</button</td></tr><tr><td>李四</td><td>1</td><td>男</td><td>18</td><td><button onclick="doDel(this)">删除</button</td></tr><tr><td>小美</td><td>2</td><td>女</td><td>17</td><td><button onclick="doDel(this)">删除</button></td></tr></tbody></table><br><br><br><h2>添加学生信息</h2><form action="#" name="myform" onsubmit="return doAdd()">姓名:<input type="text" name="name"><br><br>学号:<input type="text" name="sno"><br><br>性别:<input type="text" name="sex"><br><br>年龄:<input type="text" name="age"><br><br><input type="submit" value="添加"/></form>
</body>
<script>function doDel(bt){bt.parentNode.parentNode.parentNode.removeChild(bt.parentNode.parentNode);}function doAdd(){//获取表单数据var data = new Array();data[0] = document.myform.name.value;data[1] = document.myform.sno.value;data[2] = document.myform.sex.value;data[3] = document.myform.age.value;//获取表格节点对象var tb = document.getElementsByTagName('tbody')[0];// 创建表格tr节点var tr = document.createElement('tr');//遍历data将表单的输入数据传入tr表单节点中for(var i = 0; i<data.length; i++){//创建td表格节点var td = document.createElement('td');//创建文本对像var text = document.createTextNode(data[i]);td.appendChild(text); tr.appendChild(td);}//添加删除按钮var td = document.createElement('td');td.innerHTML = '<button οnclick="doDel(this)">删除</button>';tr.appendChild(td);//将tr添加到tb中tb.appendChild(tr);//清空表单document.myform.reset();return false;}
</script>
</html>

Java复习打卡day40相关推荐

  1. Java复习打卡day30

    Java复习打卡day30 前置 前置导学 HTML语言 HTML介绍 HTML语言的基础语法 常见标签 文本标签 格式化标签 图像标签 超链接标签 表格标签 表单标签 前置 前面我们主要讲述了Jav ...

  2. Java复习打卡day47

    Java复习打卡day47 Mac系统中安装mysql数据库 MySql基础操作 Mysql中的数据类型 Mysql中的字段约束和运算符 Mysql数据库中的表引擎和字符集utf8 Mysql中的DM ...

  3. 中国海洋大学-信息系统开发(Java)复习

    Java复习 OUC_Shizue 1 Java编译器和执行器 Java编译器和执行器是Java语言的两个核心组件,分别用于将Java源代码编译成Java字节码文件和运行Java字节码文件. Java ...

  4. 合肥师范学院计算机与技术,合肥师范学院计算机科学与技术系JAVA复习提纲

    合肥师范学院计算机科学与技术系JAVA复习提纲 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 一. 选择题(10题,20分)二. 填空 ...

  5. 调整心态,java复习要点总结。

    各位好,博主认为调整好心态是一切事情开始的良好基础.无论做任何事情,没有一个沉淀的情绪积累,都不能做到很成功.当完全融入一件事情的时候,学习效率是最高的.所以朋友,请您一定放松心态,不要有紧张的情绪. ...

  6. Java复习之抽象类和接口

    Java复习之抽象类和接口 Java复习之抽象类和接口 什么是抽象类和接口 抽象类与接口的区别 什么情况下使用抽象类或接口 一个demo引起来的对于java方法区堆栈的研究 首先我们需要明白抽象类与接 ...

  7. java复习第3天---3.1---final关键字、权限修饰符

    java复习第3天---3.1---final关键字.权限修饰符 目录 文章目录 1.final 关键字 1.1.修饰类 1.2.修饰成员方法 1.3.修饰成员变量 1.4.修饰局部变量 2.权限修饰 ...

  8. Java复习面试知识点

    Java复习面试知识点 前言: 简要的记录一下学习到的东西,仅供自己查阅和复习方便.希望该文章能对你有帮助,文章学习自博客和b站UP主的教程 集合: 集合简介: Java标准库自带的java.util ...

  9. 【牛客网java练习错题笔记】 --Java基础打卡day002

    [牛客网java练习错题笔记] --Java基础打卡day002 1 根据以下代码段,正确的是 2 在Java中,在同一包内,类Cat里面有个公共方法sleep(),该方法有static修饰,所以可以 ...

最新文章

  1. MySQL外键设置中的的 Cascade、Restrict、SET NULL 、NO ACTION
  2. 终端安全工具 gartner 排名
  3. python使用字典格式化字符串-Python字符串格式方式 %s format()
  4. 华为与各国政府签订无间谍无后门协议
  5. Akka之在IoT系统中使用Actor(一)
  6. 计算机多媒体教室维修登记册,多媒体教学管理制度
  7. 三维重建5:场景中语义分析/语义SLAM/DCNN-大尺度SLAM
  8. 拼音缩写是啥意思_NMSL?AWSL?这些拼音缩写到底是啥意思?
  9. 首批吃螃蟹!35 所高校获批开设「人工智能」本科专业
  10. 我的linux redhat6.0之路-1.2
  11. ubuntu挂载移动硬盘出现错误:mount:unknown filesystem type ‘exfat‘
  12. JAVA 图片压缩及png转jpg
  13. win7计算机文件夹显示布局,使用Windows7巧妙管理文件夹的图文介绍
  14. 计算机省二打字,巧用音频转文字,省去打字烦恼
  15. 复变函数笔记——解析函数、柯西-黎曼方程
  16. Codeforces 1037E. Trips
  17. 例子简单了解线程与进程
  18. DjangoChannels_vue前端搭建简易版的网页聊天功能
  19. Solidworks模型导入Vrep(CoppeliaSim Edu)
  20. 计算机成绩0123,12123驾照考试成绩查询入口-12123驾照考试成绩查询分数的教程

热门文章

  1. 【时间与空间】惯性系与地固系之间的转换
  2. 信息学奥赛一本通(C++版) 网站补充题目
  3. Excel2007中固定表头或列
  4. 使用wordpress建立企业或博客网站新手教程
  5. 奇安信可信浏览器下载地址
  6. 逻辑代数的基本定律和运算规则
  7. 广州积分入户需要满足哪些条件
  8. 实现 fizzBuzz 函数,参数 Thum 与返回值的关系如下: 1、如果 Thum 能同时被 3 和 5 整除,返回字符串 fizzbuzz 2、如果 Thum 能被 3 整除,返回字符串 fiz
  9. 端口隔离的原理与配置
  10. IP分片报文的接收与重组