DOM和BOM

作者: lemontree2000 | 来源:发表于2016-10-17 23:55 被阅读0次

1、JS的组成部分

<b>ECMA (ECMAScript): js核心,解析器,解析语法,词法</b>

if () {}, for(){}, while(){}
  arr.pop();
  arr.push();
兼容性:完全兼容(ECMAScript4.0)

<b>DOM(Document Object Model) 文档对象模型</b>

跟网页打交道
  document.getElementById
  oDiv.style.background = 'red';
  ......
兼容性:大部分兼容,小部分不兼容(可以处理)

<b>BOM(Browser Object Model) 浏览器对象模型</b>

跟浏览器打交道
  UA: window.navigator.userAgent
  alert();
兼容性:没有兼容性,根本就不兼容(不可以处理,能用就用,不能用拉到)

2、DOM

标签 -> 元素 -> 节点: 指的是同一个东西

<b>DOM树(关系):</b>
树:
a). 分枝
b). 根
体现各个节点之间的关系

<b>DOM关系</b>

<b>父子级</b>
子级(一层,一级): 父级.children

父级:子级.parentNode

<b>兄弟级</b>
上一个兄弟节点:

obj.previousElementSibling
兼容:高级浏览器
低级浏览器: undefined

obj.previousSibling
高级浏览器:文本节点 oject text
低级浏览器:返回相应的节点
兼容:
    a). if else 
    b). 或 || 
var oPrev = oLi.previousElementSibling || oLi.previousSibling;

下一个兄弟节点:

  obj.nextElementSibling
  兼容性:高级浏览器
  低级浏览器: undefined

  obj.nextSibling
  高级浏览器:文本节点 oject text
  低级浏览器:返回相应的节点
  兼容版:
  var oNext = obj.nextElementSibing || obj.nextSibling;

文本节点: 空格 文字

<b>首尾节点</b>
首节点:

a). 父级.firstElementChild
    兼容:高级浏览器
    低级浏览器: undefined

    父级.firstChild
      高级浏览器:文本节点
      低级浏览器:返回相应的节点
      兼容版:
      var oFirst = 父级.firstElementChild || 父级.firstChild;
  b). 父级.children[0]      //一般使用此方法

尾节点:

  a). 父级.lastElementChild
      兼容:高级浏览器
      低级浏览器: undefined

      父级.lastChild
      高级浏览器:文本节点
      低级浏览器:返回相应的节点
      兼容版:
      var oLast = 父级.lastElementChild || 父级.lastChild;
  b). 父级.children[父级.children.length-1]  //一般使用此方法

<b>DOM操作</b>

创建节点:
        document.createElement(节点名称);
添加节点:
        a).
            父级.appendChild(要添加的节点);
        b).     
            父级.insertBefore(要添加的节点,在谁的前面);
删除节点:
        父级.removeChild(要删除的节点);
        
    *** 所有的添加功能相当于剪切的功能

3、BOM

BOM(Browser Object Model)
跟浏览器打交道

打开一个窗口:

window.open(地址,方式);
Chrome: 拦截
FF: 阻止
IE: 直接打开

* 只要是用户自己打开的都不拦截


打开方式:默认新窗口打开
    _blank: 新窗口打开
    _self : 当前窗口打开

    about:blank:空白页面

window.open():
返回:object window 新的窗体对象

关闭窗口:

    window.close();
    Chrome: 直接关闭
    FF: 没有反应
    IE: 提示

    * 只能关闭用户自己open出来的窗口

获取地址栏的信息:

    window.location
    数据类型: object
    可以查看,也可以赋值

    http://www.baidu.com/index.html?user=baidu&password=1232#abc;
    以下返回的都是字符串
    window.location.href    地址
    window.location.search  数据
    window.location.hash    锚

    其它信息:
    window.location.protocol 协议
    window.location.host     域名
    window.location.port     端口号
    window.location.pathname 路径

历史信息:

    window.history
    前提: 必须有浏览记录(痕迹)

    前进:
        window.history.forward();
    后退:
        window.history.back();

        window.history.go(数字);

相关文章

  • DOM和BOM

    DOM和BOM 参考 DOM与BOM 和 BOM和DOM详解 javascript 有三部分构成:ECMAScr...

  • javascript的BOM和DOM笔记

    BOM和DOM编程: BOM(BOM(browser object model)浏览器对象模型 DOM(docum...

  • 06-BOM+DOM+事件

    一.BOM 1.BOM介绍 2.BOM中的对象和方法 二.DOM 1.DOM的概念 2.DOM节点分类 3.DOM...

  • javascript - 组成

    ECMAScript + DOM + BOM: 这里面所谓的方法和接口,的区别有哪些? js包含bom.dom,在...

  • BOM 和 DOM

    BOM和DOM的关系老是弄混淆,还是做笔记记录下吧。 1. BOM Browser Object Mode, 浏览...

  • BOM和DOM

    数组定义 数组是值的有序集合 javascript数组是无类型的;数组元素可以是任意类型,并且同一个数组的不同元素...

  • DOM和BOM

    1、JS的组成部分 ECMA (ECMAScript): js核心,解析器,解析语法,词法 DOM(Docume...

  • BOM 和 DOM

    什么是 BOM ? 1.浏览器对象模型 Browser Object Model 2.BOM的核心对象是windo...

  • DOM和BOM

    BOM 介绍 BOM:browser object model浏览器对象模型,用对象操作浏览器 window对象是...

  • DOM和BOM

    JavaScript是一种专为网页交互而设计的脚本语言,由下列三个不同的部分组成: ECMAScript, 由EC...

网友评论

    本文标题:DOM和BOM

    本文链接:https://www.haomeiwen.com/subject/stmzyttx.html