1.什麼是BOM,什麼是DOM(基本概念)html
BOM: Browers Object MOdel 瀏覽器對象模型 node
DOM: Document Object MOdel 文檔對象模型編程
2.深刻理解BOM與DOMwindows
a.BOM與DOM能夠理解爲一個接口瀏覽器
BOM:讓咱們使用編程語言控制瀏覽器行爲(跳轉,前進,後退,獲取屏幕大小 等);app
DOM:讓咱們使用編程語言操做HTML內容(添加元素,修改元素,刪除元素);編程語言
b.BOM沒有相關標準,DOM遵循W3Curl
c.BOM的根本對象爲Windows,DOM根本對象是document (windows.document)spa
d.BOM與DOM的關係代理
3.BOM和DOM對象用法小總結
a.windows
windows.moveTo(100,100); //移動到指定座標(針對左上角)
windows.moveBy(100,200); //移動指定像素(針對初始位置)
windows.resizeTo(300,300); //將窗口調整爲指定寬高
b.location
location.protocal //返回url協議
location.host //返回當前url的主機名和端口號(www.xxx.com)
location.hostname //返回當前url的主機名(xxx.com)
location.port //返回當前url的端口部分(若爲默認的80則無返回)
location.href //跳轉
c.navigator
navigator.userAgent //聲明瀏覽器用於HTTP請求的用戶代理頭的值
重點:利用該屬性判斷用戶使用的是pc仍是mobile
1 <script> 2 function isMobile() { 3 var ua = navigator.userAgent; 4 if(ua.indexOf("Mobile") != -1){ 5 return true; 6 } 7 return false; 8 } 9 if( isMobile() ){ 10 location.href = 'http://www.cnblogs.com/paradise-zzz/' 11 }else { 12 alert("請使用手機瀏覽!"); 13 } 14 </script>
d.node
nodeType //返回節點類型(元素節點1,屬性節點2)
childNodes //返回子節點集合
children //非標準屬性返回指定元素子節點集合(只返回html節點,不返回文本節點,一般和innerHtml結合使用 ps:返回註釋節點)
firstChild //返回首個子節點
nextSibling //返回該元素節點的下一個兄弟節點(中間不能有空格,由於空格被算做文本節點 ps:回車也不行)
nextElementSibling //返回該元素節點的下一個元素兄弟節點(這個能夠有空格回車什麼的)
appendChild() //添加(從列表尾部開始)
insertBefore() //添加(從列表頭部開始)
removeChild() //刪除
replaceChild(new,old) //替換