前端获取元素对象|青训营笔记

95 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第十一天

开始讲述前,先简要讲述一下两者的关系,document是window的一部分,doucument的概念是操作被加载进浏览器的html文档,而window操作的浏览器窗口和框架,其中框架特指iframe

doucument

doucument在mdn中具有大量的只读属性,比如说可以读取cookie和url地址,几乎能拿到所有东西

从document中获取元素的办法

queryseltor具有兼容性,也就是没法在ie低级浏览器中使用,会出现错误。并且使用方法和前面的有所不同,总的来说queryseltor更加灵活,它想找class就加个.,想找个id就加个#。但是前面的元素不需要加这些符号,使用起来不灵活,不能想找什么就找什么

  • elem.getElementByid

注意elem可以是任何一个元素,包括document,它就是相当于从elem内寻找指定的id元素。这个就是比较灵活,当然id是唯一的,使用document也无所谓

  • elem.getElemmentsBytagName

注意使用方法和上面一样,注意是搜索的是元素名字,就是类似于div,p,ul

  • elem.getElementsByTagName

使用方法相同,不过注意使用类名。并且不用加.

  • queryselctor

我的最爱,但是此前我并不知道其实queryselctor和queryselctorAll的对象可以不是document,可以是元素,

  • queryselctorAll

注意之前的我都是使用document作为对象,如果在大型的网站会十分的累赘,因为如果没有使用id,而是通过class一路找过来,那会导致添加的元素和类名会十分的长

提一下queryselctor和queryselctorAll的区别,前者返回的是一个元素对象(注意是返回的是第一个元素对象)而后者返回的是一个集合,包括所有找到的元素。一般来说,只有批量操作元素才会需要这个方法