現有一個 div 盒子,寬度和高度都是200像素,背景顏色是灰色(#ccc),將鼠標移入盒子(懸停),盒子變成400×400像素,鼠標移出後盒子恢復原大小。圖示以下:html
使用的知識點:web
1.onmouseover 事件 app
onmouseover 事件dom
2.dom 操做——查找節點:函數
document.getElementById('id屬性值');spa
dom 操做的做用:容許程序和腳本動態地訪問和更新文檔的內容、結構和樣式scala
3.window.onloadcode
window.onload 是在 dom 樹加載完和全部文件(好比外鏈 CSS 樣式表等等)加載完以後執行一個函數。htm
代碼以下:blog
1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> 6 <meta name="apple-mobile-web-app-capable" content="yes"> 7 <meta name="apple-mobile-web-app-status-bar-style" content="black"> 8 <title></title> 9 <style> 10 div{ width:200px; height:200px; background:#ccc; } 11 </style> 12 13 <script> 14 window.onload=function (){ 15 var oDiv=document.getElementById('div1'); 16 17 oDiv.onmouseover=function (){ 18 oDiv.style.width='400px'; 19 oDiv.style.height='400px'; 20 }; 21 oDiv.onmouseout=function (){ 22 oDiv.style.width='200px'; 23 oDiv.style.height='200px'; 24 }; 25 }; 26 </script> 27 </head> 28 29 <body> 30 <div id="div1"></div> 31 </body> 32 </html>
詳解:
1. dom 樹
DOM 將 HTML 文檔表達爲樹結構。 這個結構就叫 dom 樹。
圖1:dom 樹
DOM 節點
根據 W3C 的 HTML DOM 標準,HTML 文檔中的全部內容都是節點:
★ 整個文檔是一個文檔節點
★ 每一個 HTML 元素是元素節點
★ HTML 元素內的文本是文本節點
★ 每一個 HTML 屬性是屬性節點
★ 註釋是註釋節點。
DOM 樹有兩種,分別爲節點樹和元素樹。
節點樹:把文檔中全部的內容都當作樹上的節點;上面的圖片就屬於節點樹——任何東西都是節點。
dom 操做例子:elem.parentNode 找elem的父節點;elem.childNodes---找elem的全部的直接子節點;
由於childNodes包含看不見的空格文本,還有註釋等內容,因此使用起來不是太方便。
所以,JS又從新引入了元素樹的概念。這個的話,在咱們實際應用中,用的比較廣泛。
元素樹:僅把文檔中的全部標籤當作樹上的節點。若是說節點樹相似於枝繁葉茂的大叔,元素樹就是隻有軀幹的大樹,能夠很方便的找到上一個樹杈(元素)。
dom 操做例子:elem.parentElement 找節點的父元素。
elem.children返回節點的全部子元素;
elem.firstElementChild 第一個直接子元素;
elem.lastElementChild 最後一個直接字元素;
elem.previousElementSibling 找elem的前一個兄弟元素;
elem.nextElementSibling 找elem的下個兄弟元素。
這方面的知識點之後在用到的時候會再詳細說明。