获取元素
2020-09-11 本文已影响0人
潘肚饿兵哥哥
DOM在我们实际开发中主要用来操作元素
- 根据ID获取
- 根据标签名获取
- 通过HTML5新增的方法获取
- 特殊元素获取
get 获得 element 元素 by 通过 驼峰命名法
参数有一个,是字符串
返回的是元素对象
<div id="time">2020-09-09</div>
<script>
var timer = document.getElementById('time');
console.log(timer);
console.log(typeof timer);
console.dir(timer);
</script>
image.png
image.png
getElementsByTagName();方法可以返回带有指定标签名的
返回值是 获取过来的元素对象的集合,以伪数组的形式存储的
<ul>
<li>知否知否,应是等你好久</li>
<li>知否知否,应是等你好久</li>
<li>知否知否,应是等你好久</li>
<li>知否知否,应是等你好久</li>
<li>知否知否,应是等你好久</li>
</ul>
<script>
var lis = document.getElementsByTagName('li');
console.log(lis);
console.log(lis[0]); //获取第一个元素
console.log(typeof lis);
</script>
image.png
1.因为得到的额是一个对象的集合,所以我们要操作里面的元素就需要遍历
2.得到的元素对象是动态的(不需要改动代码就可以拿到新的变动内容)
3.如果页面中只有一个li,返回的还是伪数组的形式
4.如果页面中没有这个元素,返回的是空的伪数组
<ul>
<li>知否知否,应是等你好久1</li>
<li>知否知否,应是等你好久2</li>
<li>知否知否,应是等你好久3</li>
<li>知否知否,应是等你好久4</li>
<li>知否知否,应是等你好久5</li>
</ul>
<script>
var lis = document.getElementsByTagName('li');
console.log(lis);
console.log(lis[0]); //获取第一个元素
console.log(typeof lis);
for (var i = 0; i < lis.length; i++) {
console.log(lis[i]);
}
</script>
image.png
如果要精确的获取标签,就要用另一个函数:
element.getElementsByTagName('标签名');
注意:父元素必须是,获取的时候不包括父元素自己
给父元素一个id,拿到父元素deid之后,通过id去拿子元素,如下:
<ul>
<li>知否知否,应是等你好久1</li>
<li>知否知否,应是等你好久2</li>
<li>知否知否,应是等你好久3</li>
<li>知否知否,应是等你好久4</li>
<li>知否知否,应是等你好久5</li>
</ul>
<ol id="ol">
<li>生僻字</li>
<li>生僻字</li>
<li>生僻字</li>
</ol>
<script>
//如果ol里也有li,获取方法:
var ol = document.getElementById('ol');
console.log(ol.getElementsByTagName('li'));
</script>
image.png
1.document.getElementsByClassName('类名'); 根据类名返回元素对象集合
2.document.querySelector('选择器'); 根据指定选择器返回第一个元素对象
3.document.querySelectorAll('选择器'); 返回指定选择器的所有对象集合
这三种方法要加符号:.class
#id
<div class="box">盒子</div>
<div class="box">盒子</div>
<div id="nav">
<ul>
<li>首页</li>
<li>产品</li>
</ul>
</div>
<script>
//1.通过类名获取元素,这是H5新增的方法IE9以上
//document.getElementByClassName根据类名获取元素
var boxs = document.getElementsByClassName('box');
console.log(boxs);
</script>
image.png
根据指定选择器返回第一个元素对象
<div class="box">盒子</div>
<div class="box">盒子</div>
<div id="nav">
<ul>
<li>首页</li>
<li>产品</li>
</ul>
</div>
<script>
//1.通过类名获取元素,这是H5新增的方法IE9以上
//document.getElementByClassName根据类名获取元素
var boxs = document.getElementsByClassName('box');
console.log(boxs);
//.document.querySelector('选择器'); 根据指定选择器返回第一个元素对象
var firstBox = document.querySelector('.box');
console.log(firstBox);
</script>
image.png
<div class="box">盒子</div>
<div class="box">盒子</div>
<div id="nav">
<ul>
<li>首页</li>
<li>产品</li>
</ul>
</div>
<script>
//1.通过类名获取元素,这是H5新增的方法IE9以上
//document.getElementByClassName根据类名获取元素
var boxs = document.getElementsByClassName('box');
console.log(boxs);
//.document.querySelector('选择器'); 根据指定选择器返回第一个元素对象
//选class
var firstBox = document.querySelector('.box');
console.log(firstBox);
//选id,会把nav这个id里的元素全部拿到
var nav = document.querySelector('#nav');
console.log(nav);
</script>
image.png
<div class="box">盒子</div>
<div class="box">盒子</div>
<div id="nav">
<ul>
<li>首页</li>
<li>产品</li>
</ul>
</div>
<script>
//document.querySelectorAll('选择器');返回指定选择器的所有对象集合
var allBox = document.querySelectorAll('.box');
console.log(allBox);
</script>
image.png
<script>
//1.获取body元素,其他的都可以通过起类名或id,但是这两个特殊,一个页面只有一个
var bodyEle = document.body;
console.log(bodyEle);
//2.获取html元素
</script>
image.png
<script>
//1.获取body元素,其他的都可以通过起类名或id,但是这两个特殊,一个页面只有一个
var bodyEle = document.body;
console.log(bodyEle);
//2.获取html元素
var htmlEle = document.documentElement;
console.log(htmlEle);
</script>
image.png