以下是对Javascript操作BOM对象与DOM的学习
操作BOM对象(重点) 
浏览器介绍BOM:浏览器对象模型       
 
内核
IE 6-11 
Chrome 
Safari 
FireFox 
Opera 
 
window(重要)
 
window代表浏览器窗口
1 2 3 4 5 6 7 8 9 10 window .alert(1 )undefined window .innerHeight271 window .innerWidth1088 window .outerHeight805 window .outerWidth1104 
Navigator(不建议使用)
 
navigator,封装了浏览器的信息
1 2 3 4 5 6 navigator.appVersion"5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36" "Win32" 
大多数时候,我们不会使用navigator对象,因为会被人为修改!
screen
 
1 2 3 4 screen.width1536 864 
location  (重要)
 
location代表当前页面的URL信息
1 2 3 4 5 host:"www.baidu.com" " https://www.baidu.com/" "https:" // 刷新网页'https://pengzhenglong.github.io/' )// 设置新的地址
document(内容)
 
document代表当前的页面,HTML DOM文档树
1 2 3 4 document .title"百度一下,你就知道" document .title='DragonPeng' "DragonPeng" 
获取具体的文档树节点
1 2 3 4 5 6 7 8 9 <dl  id ="app" > <dt > java</dt > <dd > javase</dd > <dd > javaEE</dd > </dl > <script >   var  dl = document .getElementById('app' ); </script > 
获取cookie
劫持cookie原理
1 2 <script   src ="aa.js" > </script > 
服务端可以设置cookie:httpOnly
history(不建议使用)
 
history代表浏览器的历史记录
1 2 history.back() // 后退// 前进
操作DOM对象(重点) 
核心
 
浏览器网页就是一个Dom树形结构!    
更新:更新Dom节点 
遍历Dom节点:得到Dom节点 
删除:删除一个Dom节点 
添加:添加一个新的节点 
 
获取dom节点
 
1 2 3 4 5 6 7 8 var  h1 = document .getElementsByTagName('h1' );var  h1 = document .getElementById('p1' );var  p2 = document .getElementsByClassName('p2' );var  father = document .getElementById('father' );var  childrens = father.children[index]; 
这是原生代码,之后我们尽量都使用JQuery();
更新节点
 
操作文本
1 2 id1.innerText='456'   // 修改文本的值'<strong>123</strong>' // 可以解析HTML文本标签
操作css
1 2 3 4 id1.style.color ='red' id1.style.fontSize ='20px' id1.style.padding   ='2em'   
删除节点
 
删除节点的步骤:先获取父节点,再通过父节点删除自己
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <div  id ="father" > </div > <h1 > 标题1</h1 > <p  id ="p1" > p1</p > <p  class ="p2" > p2</p > </div > <script > var  self = document .getElementById('p1' );var   father = p1.parentElement;</script > 
注意: 删除多个节点的时候,children是再时刻变化的,删除节点的时候一定要注意!
插入节点
 
我们获得了某个Dom节点,假设这个dom节点是空的,我们通过innerHTML就可以增加一个元素了,但是这个DOM节点已经存在元素了,我们就不能这么干了!会产生覆盖
追加
1 2 3 4 5 6 7 8 9 10 11 <p  id ="js" > JavaScript</p > <div  id ="list" > <p  id ="se" > JavaSE</p > <p  id ="ee" > JavaEE</p > <p  id ="me" > JavaMe</p > </div > <script >   var  js = document .getElementById('js' );   var  list = document .getElementById('list' ); </script > 
效果:
创建一个新的标签,实现插入
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <script >   var  js = document .getElementById('js' );    var  list = document .getElementById('list' );      var  newP = document .createElement('p' );    newP.id = 'newP' ;   newP.innerText = 'hello.DragonPeng' ;      var  myScript = document .createElement('script' );   myScript.setAttribute('type' , 'text/javascript' );      var  myStyle = document .createElement('style' );    myStyle.setAttribute('type' , 'text/css' );   myStyle.innerHTML = 'body{background-color: blue;}' ;    document .getElementsByTagName('head' )[0 ].appendChild(myStyle);       </script > 
insert
 
1 2 3 4 5 var  ee = document .getElementById('ee' );var  js = document .getElementById('js' );var  list = document .getElementById('list' );