一、JS对元素内部结构的操作
1.innerHTML
element.innerHTML:获取元素内部的HTML结构
element.innerHTML=“<p>hello</p>”:设置元素内容
2.innerText
element.innerText:获取元素内部的文本(只获取文本内容)
element.innerText=“hello”:设置元素内部文本
二、JS中对元素属性的操作
1.getAttribute
element.getAttribute(‘class’):获取元素的某个属性值(包括自定义属性)
2.setAttribute
element.setAttribute(‘class’,’box’):给元素的设置属性(包括自定义属性)
3.removeAttribute
element.removeAttribute(‘class’,):移除元素属性(包括自定义属性)
三、JS中对元素样式的操作
1.style
专门用来给元素添加CSS样式的,添加的都是行内样式,element.style.样式=‘值’。
四、类属性操作
1.className
专门用来添加元素的类名:element. className=‘值’
专门用来获取元素类名称:element.className
<!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>
.one {
width: 200px;
height: 200px;
background-color: pink;
}
.two {
width: 300px;
height: 300px;
background-color: #ccc;
}
.three {
width: 600px;
height: 600px;
background-color: purple;
}
</style>
</head>
<body>
<div class="one">123</div>
<button class="change">点我切换</button>
<button class="change2">点我切换</button>
<script>
// innerHTML 可以添加 文字内容以及标签内容 ,不仅能对文字进行修饰,还能添加标签内容
// innerText 可以添加、修改标签内的文字内容,只能对文字进行修饰,无法对标签进行修改
var a = document.querySelector('div');
console.log(a);
// a.innerText = '<p>我是修改过后的文字,通过innerText</p>';
// a.innerHTML = '<p>我是二次修改过后的文字,通过innerHTML</p>';
// getAttribute 获取元素的某个属性值,语法:ele.getAttribute('属性名称');
var b = a.getAttribute('class');
console.log(b);
// setAttribute 给元素设置属性、属性值, 语法: ele.setAttribute('属性名称','属性值')
// a.setAttribute('class', 'two')
// removeAttribute 移除元素属性
// a.removeAttribute('class');
// style 设置元素的样式 , 语法: ele.style.样式属性名 = '属性值';
// a.style.backgroundColor = 'red';
var change = document.querySelector('.change');
var change2 = document.querySelector('.change2');
// 添加监听事件
change.addEventListener('click', function () {
a.setAttribute('class', 'two');
a.style.backgroundColor = 'red';
a.style.width = '400px';
})
change2.addEventListener('click', function () {
a.setAttribute('class', 'one');
a.style.backgroundColor = '';
})
// a.style.backgroundColor = 'red';
// className 设置元素的类名
// a.className = 'three';
</script>
</body>
</html>
五、JS事件
1.JS事件的概念
事件是发生在 HTML 元素上的一些事情。
2.事件的三要素
事件源:网页上的元素。如:按钮,输入框等
事件类型:为用户或浏览器的行为。如:鼠标点击,选中
事件处理程序:事件发生后定义的程序。如:跳转网页、算数运算等
3.元素绑定事件
在DOM元素中直接绑定:
违反了HTML与JavaScript代码相分离的原则,一般不用
<button onclick=“alert(2)">按钮</button>
在JavaScript代码中绑定:
同一元素同一个事件只能定义一个监听函数
<script>
var btn = document.getElementById('btn')
btn.onclick=function(){
alert("我被点击了~~~")
}
</script>
使用监听函数addEventListener() 绑定:
可以针对同一个元素的同一个事件,添加多个监听处理函数
<script>
document.getElementById('btn').addEventListener('click',function(){
alert(5);
});
</script>
4.元素解绑事件
直接删除法,使用“对象.οnclick=false;”
使用addEventListener绑定事件,使用removeEventListener删除绑定事件即可
5.常用的事件
onclick:鼠标单击时触发此事件
ondblclick:鼠标双击时触发此事件
onmouseover:鼠标移动到某个设置了此事件的元素上时触发此事件
onmouseout:鼠标从某个设置了此事件的元素上离开时触发此事件
onfocus:当某个元素获得焦点时触发此事件
onblur:当前元素失去焦点时触发此事件
onkeydown:当键盘上的某个按键被按下时触发此事件
onkeyup:当键盘上的某个按键被按下后弹起时触发此事件
<!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>
</head>
<body>
<div>123</div>
<button>点击</button>
<button class="btn2">点击</button>
<button onclick="alert('111')">点击</button>
<script>
// 事件三要素
/**
* 事件源
* 网页元素
*
* 事件类型
* 用户与浏览器交互的行为,鼠标点击、输入框选中等
*
* 事件处理程序
* 事件发生后的处理程序(函数/方法)
*
*/
// 绑定事件
// 有三种方法
// ①onclick
// 同一个元素同一个事件只能定义一个监听函数
// 语法: ele.事件类型 = 事件处理程序(函数) function(){}
// 解绑方法: ele.事件类型 = false;
var a = 5;
var btn = document.querySelector('button');
btn.onclick = function () {
alert('我们单击了按钮一');
if (a <= 0) {
btn.onclick = false;
}
a--;
console.log(a);
}
// ②addEventListener
// 可针对同一个元素,添加多个监听处理函数
// ele.addEventListener('事件类型',事件处理函数 function(){})
// 解绑方法:ele.removeEventListener('事件类型',事件处理函数名)
var btn2 = document.querySelector('.btn2');
btn2.addEventListener('click', function a() {
alert('点击第二个按钮');
btn2.removeEventListener('click', a);
});
// ③行内标签绑定
// 不推荐
// 解绑方式:互联网搜索看看
</script>
</body>
</html>