DOM系统学习-进阶

DOM类型

    Node类型:

        常用类型:

    ​    ​    ​元素节点 ELEMENT_NODE

    ​    ​    ​属性节点 ATTRIBUTE_NODE

    ​    ​    ​文本节点 TEXT_NODE

        IE不支持节点类型常量名、兼容方案:

1
2
3
4
5
6
if  ( typeof  Node ==  'undefined' ) {  //IE 返回
     window.Node = {
         ELEMENT_NODE : 1,
         TEXT_NODE : 3
     };
}


    Document类型:

        获取元素

            document.documentElement

            document.doctype

            document.body

        属性

            document.title

            document.URL

            document.domian

            document.referrer

        对象集合

            document.forms

            document.images

            document.anchors 获取带name的a元素

            document.links 获取带href的a元素

    Text类型:

        同时创建两个同级别的文本节点,会产生分离的两个节点

        文本节点合并 box.normalize();

        文本节点分割 box.firstChild.splitText(3);

        其他方法

            deleteData(offset,count) 删除文本数据

            insertData(offset,str) 插入文本数据

            replaceData(offset,count,str) 替换文本数据

            substringData(offset,count) 截取文本数据


DOM扩展

    呈现模式:

        标准模式8 CSS1Compat

            判断为标准模式 document.documentMode > 7

        仿真模式7

        混杂模式5 BackCompat

    滚动:

        设置指定可见 

1
ele.scrollIntoView();

    children属性:

        获取子元素节点(去除空白节点)

    contains():

        父元素是否包含子元素


DOM操作内容

    innerText:

        获取元素内的文本内容,html会过滤

        设置元素内的文本内容,hmtl会转义

        firefox除外都支持,firefox兼容方法textContent

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function  getInnerText(element) {
     if  ( typeof  element.textContent ==  'string' ) {
         return  element.textContent;
     else  {
         return  element.innerText;
     }
}
function  setInnerText(element, text) {
     if  ( typeof  element.textContent ==  'string' ) {
         element.textContent = text;
     else  {
         element.innerText = text;
     }
}

    innerHTML:

        获取元素内的内容,html不过滤

    ​    ​设置元素内的内容,hmtl会解析,script,style不会解析

    outerText:

        和innerText一样,包括自身,不支持firefox

    outerHTML:

        和innerHTML一样,包括自身

DOM系统学习-进阶.png 

转载于:https://www.cnblogs.com/ybbqg/p/6434637.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值