12-3 DOM操做

一 DOM基礎javascript

1 DOM介紹html

DOM:文檔對象模型。DOM 爲文檔提供告終構化表示,並定義瞭如何經過腳原本訪問文檔結構。目的其實就是爲了能讓js操做html元素而制定的一個規範。java

DOM就是由節點組成的。數組

2 DOM樹瀏覽器

 

上圖可知,在HTML當中,一切都是節點:(很是重要)app

  • 元素節點:HMTL標籤。dom

  • 文本節點:標籤中的文字(好比標籤之間的空格、換行)ide

  • 屬性節點::標籤的屬性。函數

整個html文檔就是一個文檔節點。全部的節點都是Object。spa

3  DOM節點的獲取

1 var div1 = document.getElementById("box1");      //方式一:經過id獲取單個標籤
2 
3     var arr1 = document.getElementsByTagName("div1");     //方式二:經過 標籤名 得到 標籤數組,因此有s
4 
5     var arr2 = document.getElementsByClassName("hehe");  //方式三:經過 類名 得到 標籤數組,因此有s

 

4 (獲取,更改,刪除,節點屬性)

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>DOM基礎</title>
 6 </head>
 7 <body>
 8 <img src="./1.jpg" alt="a" id="a1" title="手機圖片" class="image">
 9 <script type="text/javascript">
10     //獲取節點屬性值
11     var myNode = document.getElementsByTagName("img")[0];
12 
13     // console.log(myNode.src);
14     // console.log(myNode.className);    //注意,是className,不是class
15     // console.log(myNode.title);
16     //
17     // console.log("-----第一種方式-------");
18     //
19     // console.log(myNode["src"]);
20     // console.log(myNode["className"]); //注意,是className,不是class
21     // console.log(myNode["title"]);
22     // console.log('--------------------第二種方式-----------');
23     // console.log(myNode.getAttribute("src"));
24     // console.log(myNode.getAttribute("class"));   //注意是class,不是className
25     // console.log(myNode.getAttribute("title"));
26     //設置節點屬性值
27     // console.log("-----第一種方式-------");
28     // myNode.src='./2.jpg';
29     // myNode.className='image2';
30     console.log('--------------------第二種方式------');
31      myNode.setAttribute("src","./3.jpg");
32     myNode.setAttribute("class","image3-box");
33     myNode.setAttribute("id","你好");
34     //刪除節點的屬性
35     myNode.removeAttribute('class');
36     myNode.removeAttribute('id');
37 </script>
38 </body>
39 </html>
View Code

5 (建立 添加節點屬性)

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>DOM操做</title>
 6 </head>
 7 <body>
 8 <div id="box">
 9     <p id="p1">1113</p>
10 
11 
12 </div>
13 <button id="btn">
14     添加元素
15 </button>
16 <script>
17     //獲取文檔
18     console.log(document);
19     //獲取的html對象
20     console.dir(document.documentElement);
21     console.dir(document.getElementsByTagName('html')[0]);
22     //獲取body
23     console.log(document.body);
24     var oBtn=document.getElementById('btn');
25     var oBox=document.getElementById('box');
26     var op1=document.getElementById('p1');
27     oBtn.onclick=function () {
28         var op=document.createElement('p');//建立標籤
29         // // op.innerText=123;//添加文本
30         op.innerHTML='<a href="#">123</a>';//添加標籤
31         // oBox.appendChild(op);//追加孩子節點
32 
33         op.style.color='red';
34         console.log(op.parentNode);//獲取p標籤的父節點是div
35         console.log(op.children[0]);//獲取p標籤的子節點是  a
36         console.log(oBox.nextElementSibling.innerHTML);//火狐、谷歌、IE9+版本:都指的是下一個元素節點(標籤),就是div下面的button標籤
37         oBox.insertBefore(op,op1);//在參考標籤以前添加一個標籤,op1是參考標籤,op是要添加的標籤
38 
39 
40 
41     }
42 
43 
44 </script>
45 
46 </body>
47 </html>
View Code

 

二 DOM事件操做

1 實例:效果是點擊瀏覽器上面的盒子,彈出內容

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <style>
 7         #box1{
 8             width: 200px;
 9             height: 200px;
10             background-color: red;
11         }
12     </style>
13 </head>
14 <body>
15 <div id="box1"></div>
16 
17 <script type="text/javascript">
18     // 1、獲取事件源
19     var div = document.getElementById("box1");
20     // 2、綁定事件
21     div.onclick = function () {
22         // 3、書寫事件驅動程序
23         alert("我是彈出的內容");
24     }
25 </script>
26 
27 </body>
28 </html>
View Code

常見事件以下

2  利用DOM去更改一些屬性設置盒子切換的大小和顏色

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>DOM事件</title>
 6     <style>
 7         .box1{
 8             width: 200px;
 9             height: 200px;
10             background-color: red;
11         }
12         /*.active{*/
13             /*background-color: yellow;*/
14         /*}*/
15 
16     </style>
17     <script>
18         //js入口函數,當文檔和圖片都加載完成以後,入口函數才調用叫window
19         window.onload=function() {
20             console.log(111);
21             var oDiv=document.getElementById('box');//獲取id
22             console.dir(oDiv);
23             console.log(oDiv.id);
24             console.log(oDiv.className);
25             // 第一種寫法
26             var isRed=true;
27             oDiv.onclick=function () { //添加一個點擊事件
28                 if (isRed){
29                       oDiv.style.backgroundColor='black';
30                       oDiv.style.width='300px';
31                       isRed=false
32                 }else{
33                     oDiv.style.backgroundColor='red';
34                     oDiv.style.width='200px';
35                     isRed=true;
36                 }
37                
38 
39             };
40 
41         };
42     </script>
43 </head>
44 <body>
45     <div id="box" class="box1 active">
46     </div>
47 
48 </body>
49 </html>
View Code

3  利用dom去操做圖片的不斷切換

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>DOM事件</title>
 6     <style>
 7 
 8 
 9     </style>
10     <script>
11 
12         // -------------第二種例子,圖片切換--------------------------------
13         window.onload=function (ev) {
14                 var oimg=document.getElementsByTagName('img')[0];//獲取第一個img標籤
15                 console.log(oimg);
16                 var obtn=document.getElementsByClassName('btn')[0];//獲取第一個btn類名
17                 obtn.style.width='100px';//能夠單獨設置btn按鈕的樣式
18                 obtn.style.height='100px';
19                 var tu=true;//設置添加爲true
20                 obtn.onclick=function(){
21 
22                     if (tu){
23                          oimg.src='./1.jpg';//第一次默認是1圖片
24                          console.log(oimg.id);//獲取img的id,至關於get
25                          oimg.id='lv';//至關於set
26                          tu=false
27 
28                     }else{
29                         oimg.src='./2.jpg';
30                         tu=true
31                     }
32 
33 
34             }
35 
36         }
37 
38     </script>
39 </head>
40 <body>
41     <div id="box" class="box1 active">
42     </div>
43     <img src="./2.jpg" alt="手機" title="小米" id="one">
44     <!--<img src="./3.jpg" alt="手機" title="小米" id="two">-->
45     <button class="btn">切換</button>
46 </body>
47 </html>
View Code
相關文章
相關標籤/搜索