目录
JavaScript的DOM操作可以改变网页内容、结构和样式,我们可以利用DOM操作元素来改变元素里面的内容、属性等。注意以下都是属性
元素.innerText
从起始位置到终止位置的内容,但它去除html标签,同时空格和换行也会去掉
元素.innerHTML
起始位置到终止位置的全部内容,包括html标签,同时保留空格和换行
实例:
- 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>Documenttitle>
- head>
-
- <body>
- <button id="sx">苏醒button>
- <button id="zy">张远button><br>
- <img src="images/sx.jpg" alt="" title="苏醒">
-
- <script>
- //修改元素属性 src
- //1.获取元素
- var sx = document.getElementById('sx');
- var zy = document.getElementById('zy');
- var img = document.querySelector('img');
- //2.注册事件
- zy.onclick = function () {
- img.src = 'images/zy.jpg';
- img.title = '张远';
- }
- sx.onclick = function () {
- img.src = 'images/sx.jpg';
- img.title = '苏醒'
- }
- script>
- body>
-
- html>
利用DOM可以操作如下表单元素的属性:
type、value、checked、selected、disabled
实例:
- <body>
- <button>按钮button>
- <input type="text" value="请输入内容">
- <script>
- //1.获取元素
- var btn = document.querySelector('button');
- var input = document.querySelector('input');
- //2.注册事件 处理程序
- btn.onclick = function () {
- // input.innerHTML='点击了';//这个是普通盒子 比如 div标签里面的内容
- //表单里面的值 文字内容是通过value来修改的
- input.value = '被点击了';
- //如果想要一个表单被禁用,不能再次被点击
- // btn.disabled = true;
- this.disabled = true;
- // this指向的是时间函数的调用者 btn
-
- }
- script>
- body>
通过JS修改元素的大小、颜色、位置等样式。
行内样式操作:
元素.style //行内样式操作
注意:
实例:
- 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>Documenttitle>
- <style>
- div {
- width: 200px;
- height: 200px;
- background-color: pink;
- }
- style>
- head>
-
- <body>
- <div>div>
- <script>
- //1.获取元素
- var div = document.querySelector('div');
- //2.注册时间 处理程序
- div.onclick = function () {
- this.style.backgroundColor = 'purple';
- this.style.width = '260px';
- }
- script>
- body>
-
- html>
类名样式操作:
元素.className //类名样式操作
注意:
实例:
- 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>Documenttitle>
- <style>
- div {
- width: 200px;
- height: 200px;
- background-color: pink;
- }
-
- .change {
- background-color: purple;
- margin-top: 100px;
- }
- style>
- head>
-
- <body>
- <div class="first">div>
- <script>
- var test = document.querySelector('div');
- test.onclick = function () {
- this.className = 'first change';
- }
- script>
-
- body>

如果有同一组元素,我们想要某一个元素实现某种样式,需要用到循环的排他思想算法:
- element.属性 //获取属性值(元素本身自带的属性)
- element.getAttribute('属性') //主要获取自定义的属性(标准)程序员自定义的属性
- element.属性='值' //设置内置属性值
- element.set Attribute('属性','值') //主要针对自定义属性
element.removeAttribute('属性');
自定义属性的目的:是为了保存和使用数据,有些数据可以保存到页面中而不用保存到数据库中。
自定义属性获取通过element.getAttribute('属性')
但是有些自定义属性很容易引起歧义,不容易判断是元素的内置属性还是自定义属性。
H5新增了自定义属性: