-
- DOM树:
-
1.文档:
-
2.元素:
-
3.节点:
-
二、获取页面中的元素的几种方法:
-
- 1.根据 id 获取元素
-
2.根据标签名获取元素
-
3.通过HTML5新增的方法获取元素
-
4.根据特殊元素获取元素
========================================================================
DOM简称:文档对象模型,是一种处理可扩展编程语言的标准编程接口,我们通过这些接口来改变网页的内容、结构和样式。
一个网页就是一个文档,DOM中使用document表示
页面中的所有标签都是元素,DOM中使用element表示
网页中的所有内容都是节点(标签,属性,文本,注释等),DOM中使用node表示
===============================================================================
1.根据 id 获取
2.根据标签名获取
3.通过HTML5新增的方法获取
4.特殊元素获取
这里我们讲通过使用getElementByld根据id获取页面元素:
getElementByld语法: var element = doucument.getElementByld(id);
参数:element是一个Element对象,如果当前文档中拥有特定ID的元素不存在则返回null
id是大小写敏感的字符串,代表了所要查找元素的唯一ID
返回值:返回一个匹配到 ID 的 DOM Element对象。若在当前Document下没有找到,则返回null
代码如下(示例):
运行结果:
我们可以看到返回的类型是对象类型,这就更能体现出DOM是一个文档对象模型了
- 噜啦啦噜啦啦,啦啦啦啦啦
- 噜啦啦噜啦啦,啦啦啦啦啦
- 噜啦啦噜啦啦,啦啦啦啦啦
- 噜啦啦噜啦啦,啦啦啦啦啦
- 噜啦啦噜啦啦,啦啦啦啦啦
如果我们想获取这五个li对象应该怎么做呢,这个时候根据id获取是不是很麻烦,所以这时候就用到了我们的根据标签名获取元素的getElementsByTagName()方法
代码如下所示:
Document - 噜啦啦噜啦啦,啦啦啦啦啦1
- 噜啦啦噜啦啦,啦啦啦啦啦2
- 噜啦啦噜啦啦,啦啦啦啦啦3
- 噜啦啦噜啦啦,啦啦啦啦啦4
- 噜啦啦噜啦啦,啦啦啦啦啦5
运行结果:
getElementsByTagName返回的是获取过来元素对象的集合,以伪数组的形式存储的
如果我们想获取第一个li里面的元素可以通过数组形式访问:
console.log(lis[0]);
如果想要依次打印里面的元素对象我们可以采取遍历的方式:
for( var i = 0; i < lis.length; i++)
{
console.log(lis[i]);
}
注意:
1.因为得到的是一个对象的集合,所以我们想要操作里面的元素就需要遍历。
2.得到元素对象是动态的
- 噜啦啦噜啦啦,啦啦啦啦啦1
- 噜啦啦噜啦啦,啦啦啦啦啦2
- 噜啦啦噜啦啦,啦啦啦啦啦3
- 噜啦啦噜啦啦,啦啦啦啦啦4
- 噜啦啦噜啦啦,啦啦啦啦啦5
- 哇哇哇哇哇哇哇哇
- 哇哇哇哇哇哇哇哇
- 哇哇哇哇哇哇哇哇
- 哇哇哇哇哇哇哇哇
那如果我们的代码是这样的。我们想获取ol 里面的 li 该怎么办。
那我们就不可以用document.getElementsByTagName()来获取对象了,因为这样会把我们页面里的所有 li 都获取出来。
这时候我们可以通过这个方法获取某个元素(父元素)内部所有指定标签名的子元素
element.getElementsByTagName(‘标签名’);
注意:父元素必须是单个对象(必须指明是哪一个元素对象).获取的时候不包括父元素自己
我们可以这样做:
var ol = document.getElementsByTagName(‘ol’); //[ol],得到的是一个伪数组,所以父元素应该是ol[0]
console.log(ol[0].getElementsByTagName(‘li’));
也可以这样做:
为了方便我们给ol 标签加一个id属性:
var ol = document.getElementById(‘ol’);//这样我们就直接获取到了父元素
console.log(ol.getElementsByTagName(‘li’));
这个是HTML5新增的获取元素的方法
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
结尾
学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。
里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
结尾
学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。