DOM基础

139 阅读2分钟

1、DOM 文档对象模型

    JS 运行到HTML 文档中,由 HTML 文件提供了 DOM 的能力
    DOM 的 核心  document
        documentJS 内置的一个对象,内部 提供了 很多的属性和方法 ,帮助我们便捷的 操作页面标签

2、获取标签

    语法1 document.querySelector('想写CSS选择器一样书写标签')
    返回值为 符合条件的第一个标签
    
    语法2 document.querySelectorArr('想写css选择器一样书写标签')
    返回值 返回一个符合条件的标签组成的 伪数组
        
        伪数组  长得很像数组,但好多数组的方法都不具备
    
    获取的标签/元素 用变量存储中,方便后边使用

image.png

3、获取样式

    元素/标签.style
        能够拿到 行内样式,或者给添加一个行内样式
        
    getComputedStyle('要查询样式的标签').要查询的样式名
        能够获取到元素的样式(行内和非行内部都可)
        但是获取的内容是只读的,只允许查询,不允许修改

image.png

4、 操作元素类名

    元素/标签.className   =>  能够得到元素目前的类名
                                还可以给这个属性从新赋值,然后修改当前标签的类名
        不管前边有多少属性,只要用 .className = '类名' 就会覆盖前边的 类名
    元素/标签.classList
         返回值为 伪数组
             数组内下表对应的是我们的每一个类名
             value 对应的是我们完整类名的字符串
             向这个标签的 后面追加 类名 ,原本的类名还存在
         .classList.add('类名') 添加一个类名
         .classList.remove('类名') 删除一个类名

image.png

5、 设置标签属性

    box.setAttribute('属性','属性值')
    
    
    H5 新增自定义属性
        H5 自定义属性在书写的时候有一个 固定的开头 就是 data-
            语法 data-属性=属性值
            
        获取
            元素/标签.dataset.属性名(属性名不要带data-)
            
        注意: 在设置的时候 不要采用 驼峰 ,全小写,因为哪怕你大写了,浏览器也会转为小写

image.png

image.png

6、 DOM 尺寸

    1、获取元素的参考父级
        .offsetParent
        返回一个指向最近的(指包含层级上的最近)包含该元素的定位元素或者最近的 table,td
        th, body 元素。当元素的 displsy 设置为 "none" 时,offsetParent 返回 null

image.png

    2、获取元素的偏移量
        .offsetTop/ .offsetLeft
        针对于参考父级 的 顶部 与 左侧 的距离
        获取元素的 偏移量为 一个数字 没有单位

image.png

    3、获取元素的尺寸
        .offsetWidth/ .offsetHeight  元素的内容 + border + padding
        .clientWidth / .clientHeight  元素的内容 + padding

image.png

    4、获取浏览器的  窗口尺寸
        window.innerWidth / window.innerHeight   包含滚动条
        document.documentElement.clientWidth / document.documentElement.clientHeight / 不包含滚动条

image.png