BOM&DOM

1、BOM 浏览器对象模型

提供了独立于内容而与浏览器窗口进行交互的对象。描述了与浏览器进行交互的方法和接口,可以对浏览器窗口进行访问和操作,譬如可以弹出新的窗口,改变状态栏中的文本,对Cookie的支持,IE还扩展了BOM,加入了ActiveXObject类,可以通过js脚本实例化ActiveX对象等等)

2、DOM 文档对象模型

DOM是针对XML的基于树的API。描述了处理网页内容的方法和接口,是HTML和XML的API,DOM把整个页面规划成由节点层级构成的文档。DOM本身是与语言无关的API,它并不与Java,JavaScript或其他语言绑定。

BOM  

  (Browser Object Model)浏览器对象模型,控制浏览器的一些行为

window对象  

  代表一个HTML文档

属性
  页面导航的5个属性 self, parent, top, opener, frames

方法
  弹出对话框 3个: alert, confirm, prompt
  页面定时器. setInterval, clearInterval, setTimeout, clearTimeout
  窗口打开关闭  open,  close

History

  浏览器的历史记录   前进, 后退.

属性 length

方法 forward 前进, back 后退, go 前进/后退

Location 浏览器地址栏   跳转,刷新

属性 href  改变当前页面位置

方法 reload 刷新

DOM  

  (Document Object Model)  文档对象模型   让JS 和 HTML ,css结合. 可以使用 JS 来控制他们.

原理  将页面中所有内容, 都封装成了对象.

Dom中的五类对象
  Document 文档(重点)
  Element 元素(重点)
  Attribute 属性
  Text 文本
  Commons 注释
以上五类对象抽取了一个父类: Node

自身属性 nodeType, nodeName, nodeValue

导航属性 

  父找儿  firstChild, lastChild, childNodes
  儿找父: parentNode (重要)
  找兄弟: nextSibling, priviousSibling

获取Element的方式(重点):
从Document中获得ELement:
  1.getElementById

2.getElementsByTagName
  3.getElementsByClassName
  4.getElementsByName
从Element中获得ELement:
  1.getElementsByTagName
  2.getElementsByClassName

DOM中的事件
给Element对象添加一个Function类型的属性. 那么这个Function的运行时机与属性的名称有关.例如: 
属性名 触发时机
  onClick 单击  ondblclick 双击  onload 当加载完毕  onchange 当内容改变  onblur 当失去焦点  onfocus 当得到焦点

在事件中我们想要获得事件的详情, 那么我们需要拿到Event(侦探)对象.
获得  事件函数是由浏览器在对应时机调用的, 浏览器在调用的时候, 已经Event传给我们了.对于我们来讲. 接受下就可以了.

 

属性
  keyCode   按键的编码
  button     鼠标按键的编码
  clientX/clientX 鼠标所在位置的x, y轴坐标
方法 
  preventDefault  阻止默认行为. 例如 在点击submit按钮时,表单提交就是默认动作.
  stopPropergation  停止事件的继续传播. 例如  在嵌套的DIV中, 点击里面的div, 同时也会触发外层div的onclick事件. 如果不想触发外层使用该方法.

 

Dom中常见操作

 


  创建元素: document.createElement
  添加: element.appendChild  ==> 添加到末尾
     element.insertBefore ==> 指定添加位置

  removeAttribute 删除属性
  removeChild 删除子节点

  replaceChild 改元素
  setAttribute 改属性
 

getAttribute 查属性值
  getElementById
  getElementsByTagName
  getElementsByClassName
  getElementsByName

DHTML技术
  由微软提出, Dynamic HTML 动态网页技术. 整合了 HTML CSS Javascript DOM 4个技术.
可以理解为对DOM对象的增强: 增加了一些新的属性和方法.让我们开发更加便捷.

 

原文地址:https://www.cnblogs.com/xichen25/p/9857086.html