JS选择器

一 概念


#### 1、getElement系列

```js
// 1.通过id名获取唯一满足条件的页面元素
document.getElementById('id名');
// 该方法只能由document调用

// 2、通过class名获取所有满足条件的页面元素
document.getElementsByClassName('class名');
// 该方法可以由document及任意页面元素对象调用
// 返回值为HTMLCollection (一个类数组结果的对象,使用方式同数组)
// 没有匹配到任何结果返回空HTMLCollection对象 ([])

// 3.通过tag名获取所有满足条件的页面元素
document.getElementsByTagName('tag名');
// 该方法可以由document及任意页面元素对象调用
// 返回值为HTMLCollection (一个类数组结果的对象,使用方式同数组)
// 没有匹配到任何结果返回空HTMLCollection对象 ([])
```

#### 2、querySelect系列

```js
// 1.获取第一个匹配到的页面元素
document.querySelector('css语法选择器');
// 该方法可以由document及任意页面对象调用

// 2.获取所有匹配到的页面元素
document.querySelectorAll('css语法选择器');
// 该方法可以由document及任意页面对象调用
// 返回值为NodeList (一个类数组结果的对象,使用方式同数组)
// 没有匹配到任何结果返回空NodeList对象 ([])
```

#### 3、id名

- 可以通过id名直接获取对应的页面元素对象,但是不建议使用

二 代码示范

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>js选择器</title>
<style type="text/css">
/*css选择器*/
#d {
width: 200px;
height: 200px;
background-color: red;
}
</style>
</head>
<body>
<div id="d" class="dd">123</div>
<div id="d" class="dd">123</div>
<div id="e1" class="ee">123</div>
<div id="e2" class="ee">123</div>
<div id="e3" class="ee">123</div>
</body>

<script type="text/javascript">
// 1.直接可以通过id名,确定页面元素对象(id一定要唯一)
// d.style.color = "cyan";

// 2.getElement方式
// document:所有标签都存在于文档中,所有通过document对象就可以找到指定的页面元素对象

// id
var d1 = document.getElementById('d');
d1.style.backgroundColor = "pink";

// class
var d2 = document.getElementsByClassName('dd');
console.log(d2); // HTMLCollection 类数组类型
console.log(d2[0].style);
d2[0].style.backgroundColor = "cyan";
d2[1].style.backgroundColor = "blue";

// tagName
var d3 = document.getElementsByTagName('div');
d3[1].style.backgroundColor = "#333";

// 注:只有getElementById只能由document调用

var body = document.getElementsByTagName('body')[0];
body.style.backgroundColor = "#eee";
var d4 = body.getElementsByClassName('dd')[0];
d4.style.backgroundColor = "orange";
var d5 = body.getElementsByTagName('div')[1];
d5.style.backgroundColor = "brown";

</script>

<script type="text/javascript">
// 参数为css语法的选择器

// 找满足条件的第一个
// 可以被document调用,也可以被普通对象调用
var e1 = document.querySelector('#e1'); // id为e1的标签,唯一一个
e1.style.backgroundColor = "#f7f";

var e2 = document.querySelector('body .ee'); // body标签下的class为ee的 第一个标签
e2.style.backgroundColor = "#ff6700";

var e3 = document.querySelector('body .ee:nth-of-type(5)');
console.log(e3)
e3.style.backgroundColor = "#ff6700";

// 找满足条件的所有
var es = document.querySelectorAll('.ee');
console.log(es); // NodeList
es[1].style.backgroundColor = "tomato";

</script>

</html>

posted @ 2018-10-12 17:27  不沉之月  阅读(2630)  评论(0编辑  收藏  举报