1、什么是DOM
- 1、DOM一般指文档对象模型。文档对象模型(Document Object Model,简称DOM),DOM通过document对象,为开发者提供大量的接口(api),来获取节点,操作DOM树。
节点类型 | 分类 |
---|
元素节点 | 获取元素节点:querySelector() |
属性节点 | element.src 、element.id |
文本节点 | innerHTML |
网页效果 | 操作元素节点、属性节点、文本节点、以及修改元素的样式 |
获取节点方法 | |
---|
getElementById() | 通过id获取节点 |
getElementsByClassName() | 通过类获取节点集合 |
querySelector() | 通过选择器获取节点 |
querySelectorAll() | 通过选择器获取节点集合 |
<script>
var container = document.getElementById('container');
console.log(container.innerHTML);
container.innerHTML = 'Hello jasmine!';
console.log(container.innerHTML);
var btn = document.getElementsByClassName('btn');
for (let i = 0; i < btn.length; i++) {
console.log(btn[i].innerHTML);
}
var container = document.querySelector('#container');
console.log(container.innerHTML);
container.innerHTML = 'Hello jasmine_qiqi!';
console.log(container.innerHTML);
var btn = document.querySelectorAll('.btn');
for (let i = 0; i < btn.length; i++) {
console.log(btn[i].innerHTML);
}
</script>
2、事件类型(轮播图、改变颜色、选中取消)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body {
display: flex;
justify-content: space-around;
border: 1px solid black;
margin: 0px;
padding: 0px;
}
.box {
width: 100px;
height: 100px;
background-color: antiquewhite;
}
.box1 {
width: 200px;
height: 100px;
display: flex;
justify-items: center;
align-items: flex-end;
position: relative;
}
.box1_button {
position: absolute;
bottom: 0px;
left: 50%;
transform: translateX(-50%);
}
.box1 img {
max-width: auto;
max-height: auto;
width: 100%;
height: 100%;
}
.case3 p {
cursor: pointer;
}
.active {
background-color: antiquewhite;
cursor: pointer;
}
.case4 {
width: 150px;
height: 200px;
overflow: hidden;
}
.case4 .container {
width: 450px;
height: 80px;
display: flex;
transition: transform 0.3s;
}
.case4 .container img {
width: 150px;
height: 80px;
}
.case4 .btnList {
display: flex;
align-content: center;
justify-content: center;
}
</style>
</head>
<body>
<div class="case1">
<h1>案例一</h1>
<div class="box">
<button>按钮</button>
</div>
</div>
<div class="case2">
<h1>案例二</h1>
<div class="box1">
<img src="../image//1.jpg" alt="">
<div class="box1_button">
<button class="btn">1</button><button class="btn">2</button><button class="btn">3</button>
</div>
</div>
</div>
<div class="case3">
<h1>案例三</h1>
<p>Hello world!</p>
<p>Hello world!</p>
<p>Hello world!</p>
<p>Hello world!</p>
<p>Hello world!</p>
</div>
<div class="case4">
<h1>案例四</h1>
<div class="container">
<img src="../image//1.jpg" alt="">
<img src="../image//2.jpg" alt="">
<img src="../image//3.jpg" alt="">
</div>
<div class="btnList">
<button class="button">1</button>
<button class="button">2</button>
<button class="button">3</button>
</div>
</div>
<script>
var btn = document.querySelector('button');
btn.onclick = function () {
box.style.backgroundColor = 'yellow';
}
var box = document.querySelector('.box');
box.onmouseenter = function () {
this.style.backgroundColor = 'black';
}
box.onmouseleave = function () {
this.style.backgroundColor = 'antiquewhite';
}
var img = document.querySelector('img');
var imageSrcList = ['../image//1.jpg', '../image//2.jpg', '../image//3.jpg']
var btn = document.querySelectorAll('.btn');
for (let i = 0; i < btn.length; i++) {
btn[i].onclick = function () {
img.src = imageSrcList[i];
}
}
var pList = document.querySelectorAll('p');
for (let i in pList) {
pList[i].onclick = function () {
if (this.className === 'active') {
this.className = '';
} else {
this.className = 'active';
}
}
}
var btnList = document.querySelectorAll('.button');
var container = document.querySelector('.container');
for (let i in btnList) {
btnList[i].onclick = function () {
console.log(btnList[i].innerHTML);
container.style.transform = `translate(${-150 * i}px)`;
}
}
</script>
</body>
</html>