学习DOM第一节

1.获取节点元素
  • document代表整个文档节点
  • document.getElementById(‘ID’);
    只能获取到一个元素。IE8以下的浏览器中,ID不区分大小写,且在没有ID时可以匹配name属性的元素,但是ID一个页面只能出现几次,标识片段名,因此少用
  • document.getElementsByTagName(‘tag’);
    以类数组的形式存储,即使只有一个,但是没有push方法
  • document.getElementsByClassName(‘tag’);
    ie8以下的版本中没有
  • document.getElementsByName(‘tag’);
    但是有些选不到,可以生效的标签有表单、表单元素、img、iframe,开发时很少用
  • document.querySelector(‘css选择器’)
    一个,IE7以下版本不使用,但是这个选择器不是实时的,在用法上受局限
  • document.querySelectorAll(‘css选择器’)
    多个,IE7以下版本不使用,但是这个选择器不是实时的。
2.遍历节点树
  • parentNode:父节点,最顶端节点的父节点是document(document不是元素节点)
  • childnode:子节点
  • firstChild
  • lastChild
  • nestSibling
3.遍历元素节点

与2中的节点数不同,2中是遍历所有节点,而3是只遍历元素节点

  • parentElement:当前元素的父元素节点(IE9以下不兼容)
  • children:只返回当前元素的元素子节点
  • node.childElementCount === node.child.length (IE9以下不兼容)
  • filstElementChild:返回的是第一个元素节点(IE9以下不兼容)
  • lastElementChild:返回的是最后一个元素节点(IE9以下不兼容)
  • nestElementSibling/previousElementSibling:返回后一个/前一个兄弟元素(IE9以下不兼容)
4.节点的四个属性
  • nodename:元素的标签名,以大写形式表示,只读
  • nodeValue:Text节点或comment节点的文本内容,可读写
  • nodeType(最重要的属性):节点的类型,只读
  • attributes:element节点的属性集合
5.节点的方法

hasChildNodes()判断该节点上是否有子节点,包括节点树上的所有子节点

//只有一种情况会返回false
<div></div>

//输入 div.hasChildNodes()
//返回 false
6.节点类型
  • 元素节点 ——1
  • 属性节点 ——2
  • 文本节点 ——3
  • 注释节点 ——8
<!-- 这是注释节点--!>

用nodename返回注释节点的标签名,输出 #comment
用ndoeValue返回注释节点的文本内容,输出 <!-- 这是注释节点--!>
  • document ——9
  • DocumentFragment ——11
7.DOM继承结构树

在这里插入图片描述
这个树代表了DOM中的继承关系,Document下其实有两个分支,另一个分支是XML
Document构造函数不能new

//继承关系
document  -->  HTMLDocument.prototype  -->  Document.prototype
8.DOM基本操作
  • getElementById方法定义在Document.prototype上,即Element节点上不能使用
  • getElementsByName方法定义在HTMLDocument.prototype上,即非html中的不能使用(xml、document、Element)
  • getElementsByTagName方法定义在Document.prototype和Element.prototype上
<div>
	<span></span>
</div>

//可以使用这样的方法取得span标签
var div = document.getElementsByTagName('div')[0];
var span = div.getElementByTagName('span')[0];
在开发中经常使用先获取父级元素,再在父级元素上选择子元素
  • HTMLDocument.prototype定义了一些常用的属性,body、head分别指代HTML文档中的`标签
document.body  ----->  直接代表了<body>标签
document.head ------>  直接代表了<head>标签
  • Document.prototype上定义了documentElement属性,指代文档的根元素,HTML文档中,他总是指代元素
document.documentElement      -------->   指代了<html>元素
  • getElementByClassName、querySelectorAll、querySelector在Document.prototype、Element.prototype类中均有定义
9.节点的增删改查
(1)增
  • document.createElement(’’):创建元素节点
  • document.craeteTextNode:创建文本节点
  • documentComment(‘注释内容’):创建注释节点
  • document.createDocumentFragment();
(2)插
  • ParentNode.appendChild(‘要插入的元素’):剪切操作,即两次对同一个节点使用这个操作后,只保留最后一个操作结果
  • ParentNode.insertBefore(A,B):插入操作,insert A before B,在B的前面插入A
(3)删
  • parent.removeChild(‘子节点’):剪切parent元素的子节点,会返回子节点的内容
  • chiild.remove():删除child元素,彻底删除
(4)替换
  • parent.replaceChild(new,origin):拿新的元素替换老元素,剪切老元素,返回老元素
10.节点属性和方法
  • innerHTML:取写节点内容
div.innerHTML
//输出 div节点的内容

div.innerHTML = 'kathy'
// 将div节点的内容替换为kathy
  • innerText:取写文本内容,火狐不兼容(有textContent,但老版本IE不好使)
  • ele.setAttribute(‘属性名’,‘属性值’):设置属性
  • ele.getAttribute(‘属性名’,‘属性值’):获取属性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于学习 JavaScript DOM(文档对象模型),你可以按照以下步骤进行: 1. 先了解什么是DOMDOM 是一种对 HTML 和 XML 文档的编程接口,它将文档解析成由节点和对象(如元素、属性和文本)组成的结构,开发者可以使用 DOM 提供的方法和属性来操作和修改这些节点和对象。 2. 学习基本的 JavaScript:在学习 DOM 之前,你需要对基本的 JavaScript 语法和概念有一定的了解。你可以从 W3Schools 或 MDN 网站上找到一些入门教程和资料。 3. 熟悉 DOM 的基本操作:掌握如何使用 JavaScript 来访问和操作 DOM 元素是学习 DOM 的关键。你可以学习如何通过 JavaScript 获取元素、修改元素内容、添加或删除元素等操作。 4. 掌握事件处理:了解如何使用 JavaScript 来处理用户的交互事件,例如点击按钮、提交表单等。你可以学习如何注册事件处理函数,并在事件发生时执行相应的操作。 5. 深入学习 DOM API:DOM API 提供了许多方法和属性,可以帮助你更高效地操作 DOM学习这些 API 的用法,例如查询选择器、遍历节点树、修改样式等,可以提升你在开发中的效率。 6. 实践项目:通过实践项目来巩固所学的知识。你可以尝试创建一些简单的交互式网页,使用 JavaScript 和 DOM API 实现一些功能,如表单验证、动态内容更新等。 记住,在学习过程中不断练习和实践是非常重要的。还有许多在线资源和教程可供参考,你可以根据自己的需求和学习风格选择适合自己的学习材料。祝你学习愉快!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值