DOM系统学习-进阶

Posted 前望

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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系统学习-进阶的主要内容,如果未能解决你的问题,请参考以下文章

我的OpenGL学习进阶之旅NDK开发中find_library查找的系统动态库在哪里?

我的C语言学习进阶之旅解决 Visual Studio 2019 报错:错误 C4996 ‘fscanf‘: This function or variable may be unsafe.(代码片段

我的C语言学习进阶之旅解决 Visual Studio 2019 报错:错误 C4996 ‘fscanf‘: This function or variable may be unsafe.(代码片段

学习笔记JS进阶语法一DOM进阶

JavaScript进阶学习——DOM对象

我的Android进阶之旅关于Android平台获取文件的mime类型:为啥不传小写后缀名就获取不到mimeType?为啥android 4.4系统获取不到webp格式的mimeType呢?(代码片段