一:说明
1.Js的三个部分
ECMAScripts标准:JS的基本语法
DOM:文档对象模型,操作页面的元素的
BOM:浏览器对象模型,操作浏览器
2.术语
文档:一个页面就是一个文档
元素:页面中的所有标签都是元素,元素可以看成对象
节点:页面中的所有内容都是节点
属性:标签的属性
二:初次体验DOM
1.程序
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script> 7 8 </script> 9 </head> 10 <body> 11 <input type="button" value="按钮弹出" onclick="alert('CJ')"> 12 </body> 13 </html>
优化版本:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 9 <input type="button" value="按钮弹出" id="demo"> 10 <script> 11 function click(){ 12 alert("CJ"); 13 } 14 var registEvent = document.getElementById("demo"); 15 //给按钮注册事件,注意点是不加括号,先不执行,在点击的时候才执行 16 registEvent.onclick=click; 17 </script> 18 </body> 19 </html>
再次优化:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 9 <input type="button" value="按钮弹出" id="demo"> 10 <script> 11 var registEvent = document.getElementById("demo"); 12 //给按钮注册事件,使用匿名函数 13 registEvent.onclick = function click(){ 14 alert("CJ"); 15 }; 16 </script> 17 </body> 18 </html>
三:案例【基本标签,表单,样式】
1.单击按钮,显示图片
获取img的对象,然后操作里面的属性即可。
其中,宽度,高度不需要加px单位。
程序:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <input type="button" value="显示图片" id="btn"> 9 <br> 10 <img src="" alt="" id="im"> 11 <script> 12 var btn = document.getElementById("btn"); 13 btn.onclick=function () { 14 var im = document.getElementById("im"); 15 im.src = "image/00_1.png"; 16 im.width = 500; 17 } 18 </script> 19 </body> 20 </html>
效果:
2.点击按钮,修改p标签中的内容
使用innerTxet。凡是成对的标签,中间的文本,设置的时候,都使用innerText这个属性放入方式。
程序:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <input type="button" value="显示图片" id="btn"> 9 <br> 10 <p id="p1">哈哈</p> 11 <script> 12 var btn = document.getElementById("btn"); 13 btn.onclick=function () { 14 var p1 = document.getElementById("p1"); 15 p1.innerText="嘿嘿"; 16 } 17 </script> 18 </body> 19 </html>
效果:
3.点击按钮,修改a标签的地址,与热点文字
程序:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <input type="button" value="显示" id="btn"> 9 <br> 10 <a href="www.baidu.com" id="a1">百度</a> 11 <script> 12 var btn = document.getElementById("btn"); 13 btn.onclick=function () { 14 var a1 = document.getElementById("a1"); 15 a1.innerText="新浪"; 16 a1.href ="https://www.sina.com.cn/"; 17 } 18 </script> 19 </body> 20 </html>
效果:
4.给多个p设置文字
程序:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <input type="button" value="显示" id="btn"> 9 <br> 10 <p>AAAAA</p> 11 <p>BBBBB</p> 12 <p>CCCCC</p> 13 <div> 14 <p>DDDDDD</p> 15 </div> 16 <script> 17 var btn = document.getElementById("btn"); 18 btn.onclick=function () { 19 var p1 = document.getElementsByTagName("p"); 20 for (var i=0;i<p1.length;i++){ 21 p1[i].innerText="XXYYZZ"; 22 } 23 } 24 </script> 25 </body> 26 </html>
效果:
5.只修改div中的p标签
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <input type="button" value="显示" id="btn"> 9 <br> 10 <p>AAAAA</p> 11 <p>BBBBB</p> 12 <p>CCCCC</p> 13 <div id="div"> 14 <p>DDDDDD</p> 15 </div> 16 <script> 17 var btn = document.getElementById("btn"); 18 btn.onclick=function () { 19 var p1 = document.getElementById("div").getElementsByTagName("p"); 20 for (var i=0;i<p1.length;i++){ 21 p1[i].innerText="XXYYZZ"; 22 } 23 } 24 </script> 25 </body> 26 </html>
效果:
6.单机按钮,修改文本框中的文本
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <input type="button" value="显示" id="btn"><br> 9 <input type="text" value="111"><br> 10 <input type="text" value="111"><br> 11 <input type="text" value="111"><br> 12 <input type="text" value="111"><br> 13 <input type="text" value="111"><br> 14 <input type="text" value="111"><br> 15 16 <script> 17 var but = document.getElementById("btn").onclick=function () { 18 var input = document.getElementsByTagName("input"); 19 for (var i=0;i<input.length;i++){ 20 if(input[i].type!="button"){ 21 input[i].value = "zzzzz"; 22 } 23 } 24 } 25 </script> 26 </body> 27 </html>
效果:
7.点谁,谁变化
在变化的时候,使用for循环,将其他的还原,当前元素才变化。
注意是,使用this,如果使用btns[i],则在页面加载完成后,点击执行,i=6了。
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <input type="button" value="没中"><br> 9 <input type="button" value="没中"><br> 10 <input type="button" value="没中"><br> 11 <input type="button" value="没中"><br> 12 <input type="button" value="没中"><br> 13 <input type="button" value="没中"><br> 14 15 <script> 16 //获取所有的按钮,然后分别注册事件 17 var btns = document.getElementsByTagName("input"); 18 for (var i =0;i<btns.length;i++){ 19 //所有的都置为没中 20 btns[i].onclick=function () { 21 for (var j=0;j<btns.length;j++){ 22 btns[j].value="没中"; 23 } 24 this.value="中了"; 25 } 26 //当前的是中 27 } 28 </script> 29 </body> 30 </html>
效果:
8.切换图片
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <style> 7 img { 8 width: 300px; 9 } 10 </style> 11 </head> 12 <body> 13 <a href="#"> 14 <img src="image/00_1.png" alt="" id="img"> 15 </a> 16 <script> 17 document.getElementById("img").onclick = function () { 18 this.src = "image/00_2.jpg"; 19 } 20 </script> 21 </body> 22 </html>
9.修改div的样式
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 7 </head> 8 <body> 9 <input type="button" value="设置样式" id="btn"> 10 <div id="di" style="200px;height: 100px;background-color: darkseagreen"></div> 11 <script> 12 var btn=document.getElementById("btn"); 13 btn.onclick=function () { 14 var div = document.getElementById("di"); 15 div.style.width="400px"; 16 div.style.height="300px"; 17 div.style.backgroundColor="red"; //在Js中,将会将原来的-去掉,然后驼峰式。 18 } 19 </script> 20 </body> 21 </html>
效果:
10.影藏与显示
影藏:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 7 </head> 8 <body> 9 <input type="button" value="设置样式" id="btn"> 10 <div id="di" style="200px;height: 100px;background-color: darkseagreen"></div> 11 <script> 12 var btn=document.getElementById("btn"); 13 btn.onclick=function () { 14 var div = document.getElementById("di"); 15 div.style.display="none"; 16 } 17 </script> 18 </body> 19 </html>
显示:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 7 </head> 8 <body> 9 <input type="button" value="影藏" id="btn1"> 10 <input type="button" value="显示" id="btn2"> 11 12 <div id="di" style="200px;height: 100px;background-color: darkseagreen"></div> 13 <script> 14 //影藏 15 var btn1=document.getElementById("btn1"); 16 btn1.onclick=function () { 17 var div = document.getElementById("di"); 18 div.style.display="none"; 19 } 20 //显示 21 var btn2=document.getElementById("btn2"); 22 btn2.onclick=function () { 23 var div = document.getElementById("di"); 24 div.style.display="block"; 25 } 26 27 </script> 28 </body> 29 </html>
效果:‘
使用一个按钮:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 7 </head> 8 <body> 9 <input type="button" value="影藏" id="btn3"> 10 <div id="di" style="200px;height: 100px;background-color: darkseagreen"></div> 11 <script> 12 13 //一个按钮 14 var btn3=document.getElementById("btn3"); 15 btn3.onclick=function () { 16 var div = document.getElementById("di"); 17 if(this.value=="影藏"){ 18 div.style.display="none"; 19 this.value="显示" //使用this 20 }else{ 21 div.style.display="block"; 22 this.value="影藏" 23 } 24 } 25 </script> 26 </body> 27 </html>
11.操作class
设置元素的样式,不用class关键字,使用className
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <style> 7 .cc { 8 width: 300px; 9 height: 200px; 10 background-color: #ccc; 11 } 12 </style> 13 </head> 14 <body> 15 <input type="button" value="影藏" id="btn3"> 16 <div id="di"></div> 17 <script> 18 var btn3=document.getElementById("btn3"); 19 btn3.onclick=function () { 20 document.getElementById("di").className="cc"; 21 } 22 </script> 23 </body> 24 </html>