js第十章DOM

1.dom节点

什么是dom?

  • Document Object Model(文档对象模型)
  • 将html文档或者xml文档描绘成有节点层次的结构,开发者可以通过操作节点来修改页面的某一部分;

节点层次

  • 文档根节点 Document
  • 文档元素 html html档中只有一个文档元素
  • 每一个文档中的标记都可以通过一个节点表示

Node类型

  • 所有节点都继承于Node接口
  • Node中的常量在IE浏览器中无效

节点关系

  • 文档中的所有节点均存在各种关系父子节点 兄弟节点
  • 每个节点都有一个childNodes属性 (包含所有子节点)保存在NodeList对象中,NodeList对象类似于数组,可以通过【】下标来获取子节点。
    可以通过hasChildNodes()方法来判断有没有子节点比childNodes的length>0方便
  • 每个节点都有一个parentNode属性(父节点),
    在这里插入图片描述

操作节点

  • appendChild() 在childNodes末尾添加节点 当增加完,动态的改变子节点的位置
  • insertBerore(插入的节点,参照节点)
  • replaceChild(newnode,替换的节点)
  • removeChild(node) 删除节点

其他方法

  • cloneNode(true) 参数是 true深克隆 子节点也会克隆
    false 只会克隆当前节点

2.Document文档节点

document对象 是HTMLDocument(继承Document)的实例,表示整个html,是window对象的属性

nodetype:9
nodeName:#document
nodeValue:null
parenNode:null

文档的子节点

  • 可以是docuType element comment
  • 访问子节点的方式
document.documentElement  指向HTML页面中的html元素
document.firstChild
document.childNodes[0]
document有一个body属性
document.body  
document..head
document.title
document.docuType

查找元素
document.getElementById()

document.getElementByClassName();
document.getElementByTagName();
document.getElementByName();

返回的是一个HtMLCollection 和nodeList对象相似,类似于数组,通过【】来获取

文档写入
docoment.write()

3.Element(元素节点)

nodeType:1
nodeName:元素的标签名字
nodeValue:null
parentNode:Document Element
childNodes:textNode 或 Element 或 Commrnt
  • 获取节点名称
    Element.nodeName 或者 Element.TagName(返回的是大写,一般会toLowerCase())

HTML元素
常见的属性

className id title
var mydiv=document.getElementById("div");
mydiv.id
mydiv.className
mydiv.style.color

取得属性getAttribute()

  • 获取自定义属性 gteAttribute (对象.属性不能获取自定义属性)
  • 读取style 通过对象.属性 (getAttribute属性拿去到的是css文本)
  • 读取onclick事件处理 通过对象.属性 (getAttribute 属性拿到的是 字符串)
var mydiv=document.getElementById("div");
   mydiv.getAttribute("data-m")

设置属性setAttribute()可以设置自定义属性 也可以设置特性属性

var mydiv=document.getElementById("div");
mydiv.setAttribute("data-m","2")

删除属性removeAttribute()
attributes属性

  • 属性节点 保存在NamedNodeMap 类似于nodeList对象 通过【】获取属性
var mydiv=document.getElementById("div");
mydiv.attributes("id").nodeValue

创建元素

document.createElement()

元素的子节点

<ul>
  <li></li>
  <li></li>
</ul>
  • ie浏览器解析为2个子节点 其他浏览器解析为4个节点 2个空文本节点
  • 所以在操作时判断element.docuType===1 再进行操作

4.text文本节点

nodeType:3
nodeName:#text
nodeValue:文本节点的值
parentNode:Element
childNodes:0

创建文本节点

document.createTextNode("hello")

连接文本节点

normalize() 将两个文本节点合并成一个文本节点 

分割文本节点

splitText(count) 返回的从当前位置到末尾的文本

5.Attr属性节点

nodeType:2
nodeName:属性的名称
nodeValue:属性的值
parentNode:null
var mydiv=document.getElementById("div");
var newattr=document.createAttribute("id")
newattr.nodevalue="mm";
mydiv.setAttributeNode("newattr")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值