获取元素
根据ID获取
- 使用getElementByld() 方法获取带有ID的元素对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id='time'>2019-9-9</div>
<script>
// 1.因为我们的文档页面从上往下加载,所以先得有标签,因此,我们把script写到标签下面
// 2.get(获得)element(元素)by (通过) 驼峰命名法
// 3.参数 ID是大小写敏感的字符串
var timer = document.getElementById('time');
console.log(timer);// 返回 <div id='time'>2019-9-9</div>
console.log(typeof timer);// 返回object(一个元素对象)
// 5.打印返回的元素对象,更好的查看里面的属性和方法
console.dir(timer);
</script>
</body>
</html>
根据标签名获取
- 使用getElementByTagName() 方法可以返回带有指定标签名的对象的集合
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<ul>
<li>咚咚咚咚咚1</li>
<li>咚咚咚咚咚2</li>
<li>咚咚咚咚咚3</li>
<li>咚咚咚咚咚4</li>
<li>咚咚咚咚咚5</li>
</ul>
<script>
// 1. 返回的是获取过来元素对象的集合,以伪数组的形式存储的
var lis = document.getElementsByTagName('li');
console.log(lis);
console.log(typeof lis);// 返回object
console.log(lis[0]);// 返回 <li>咚咚咚咚咚1</li>
// 2. 依次打印里面的对象
for (var i = 0;i < lis.length;i++) {
console.log(lis[i]);
}
</script>
</body>
</html>
-
注意:
- 因为得到的是一个对象的集合,所以我们想要操作里面的元素就要遍历
- 得到元素对象是动态的
- 如果页面中这个元素只有一个,返回的还是伪数组的形式
- 如果页面中没有这个元素,返回的是空的伪数组的形式
-
获取某个元素(父元素)内部所有指定标签的子元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<ul>
<li>咚咚咚咚咚1</li>
<li>咚咚咚咚咚2</li>
<li>咚咚咚咚咚3</li>
<li>咚咚咚咚咚4</li>
<li>咚咚咚咚咚5</li>
</ul>
<ol>
<li>咚咚咚咚咚1</li>
<li>咚咚咚咚咚2</li>
<li>咚咚咚咚咚3</li>
<li>咚咚咚咚咚4</li>
<li>咚咚咚咚咚5</li>
</ol>
<script>
var ol = document.getElementByTagName('ol');// [ol]
console.log(ol[0].getElementByTagName('li'));
</script>
</body>
</html>
- 注意:父元素必须是单个对象(必须指明是哪一个元素对象),获取的时候不包括父元素自己
通过 HTML 新增的方法获取
- 使用document.getElementClassName(‘类名’) 根据类名返回元素集合
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="box">盒子</div>
<div class="box">盒子</div>
<div id="nav">
<ul>
<li>首页</li>
<li>产品</li>
</ul>
</div>
<script>
// 1. 使用document.getElementClassName('类名') 根据类名返回元素集合
var boxs = document.getElementsByClassName('box');
console.log(boxs);
</script>
</body>
</html>
- 使用document.querySelector(‘选择器’) 根据指定选择器返回第一个元素对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="box">盒子1</div>
<div class="box">盒子2</div>
<div id="nav">
<ul>
<li>首页</li>
<li>产品</li>
</ul>
</div>
<script>
// 2. 使用document.querySelector('选择器') 根据指定选择器返回第一个元素对象
var firstBox = document.querySelector('.box');
console.log(firstBox); // 返回 <div class="box">盒子1</div>
var nav = document.querySelector('#nav');
console.log(nav); // 返回
</script>
</body>
</html>
- 使用document.querySelectorAll(‘选择器’) 根据指定选择器返回所有元素对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="box">盒子1</div>
<div class="box">盒子2</div>
<div id="nav">
<ul>
<li>首页</li>
<li>产品</li>
</ul>
</div>
<script>
// 3. 使用document.querySelectorAll('选择器') 根据指定选择器返回所有元素对象
var allBox = document.querySelectorAll('.box');
console.log(allBox); // 返回 NodeList(2) [div.box, div.box]
</script>
</body>
</html>
获取特殊元素(body,html)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 1.获取 body 元素
var bodyEle = document.body;
console.log(bodyEle);
// 2.获取 html 元素
var htmlEle = document.documentElement;
console.log(htmlEle);
</script>
</body>
</html>