js获取dom元素

js是我们对页面进行操作媒介,而页面是通过一个一个标签组成的,我们的各种事件(鼠标事件,键盘事件等),各种特效(轮播图等),都是通过js来实现和操作的

首先我们要获取到要实现特效的标签,之后再进行事件、特效的添加删除等操作

通过id名获取(document.getElementById(""))

<div id="box"></div>
var obox = document.getElementById('box');
console.log(obox); // <div id="box"></div>

在css中不管是类名还是id名,样式都会作用在所有名称相同的标签上,但在js中通过id名获取只能获取到所有id名相同的标签中的第一个标签

<div id="box"></div>
<p id="box"></p>
<span id="box"></span>
<input type="text" id="box">
var obox = document.getElementById('box');
console.log(obox); // <div id="box"></div>

通过类名获取(document.getElementsByClassName(""))

<div class="box"></div>
var obox = document.getElementsByClassName('box');
console.log(obox);

而通过类名来获取标签时,会获取到所有类名相同的标签

<div class="box"></div>
<p class="box"></p>
<span class="box"></span>
<input type="text" class="box">
var obox = document.getElementsByClassName('box');
console.log(obox);

在控制台中打印,我们可以看到集合中有四个名称不同,类名相同的标签

通过类名进行获取标签,得到的是一个集合,使用集合中的标签时,通过下标来获取到对应的具体标签

var obox = document.getElementsByClassName('box')
console.log(obox[0]); // <div class="box"></div>

通过标签名获取标签(document.getElementsByTagName(""))

<div class="header"></div>
<p class="box"></p>
<div class="main"></div>
<span class="box"></span>
<input type="text" class="box">
<div class="box"></div>

在上方的html代码中有三个div标签,通过标签名可以同时获取到它们三个

var obox = document.getElementsByTagName('div');
console.log(obox);

三个标签类名不同,但是通过标签名同时获取到了它们

PS.总结

通过方法获取到标签的dom的方法为Element

通过方法获取到标签集合的方法为Elements

querySelector(""),querySelectorAll("")

通过querySelector和querySelectorAll获取标签,要写清楚标签的类型id名还是类名,如果是id名则在名称前方加#(例:#box),如果是类名则在名称前方加英文句号(例:.box)

querySelector会获取到所有名称相同的标签中的第一个,querySelectorAll会获取到所有名称相同的标签的集合

区别

querySelector(""),querySelectorAll("")简称为query方法

getElementById(""),getElementByClassName(""),getElementByTagName("")简称为getElement方法

1.getElement方法不能支持IE8及以下浏览器,query方法可以

2.在js中动态增删dom元素时,getElement方法可以自动更新最新的数据,query方法不可以

posted @ 2020-12-19 21:19  调用Function  阅读(729)  评论(0编辑  收藏  举报