JavaScript学习笔记(捌)

99 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第22天,点击查看活动详情

DOM 文档对象模型

DOM: Document Object Model 文档对象模型 是页面上标签等内容在js的对象模型。通过这个模型,可以使用JS对网页上的标签进行修改

文档就是整个HTML网页文档 对象表示将网页中的每一个部分都转换为了一个对象 使用模型来表示对象之间的关系,这样方便我们获取对象

节点:Node 是构成网页的最基本部分;构成HTML最基本的单元 文档节点:整个HTML文档 元素节点:HTML文档中的HTML标签 属性节点:元素的属性 文本节点:HTML标签中的文本内容

使用 JS 操作标签的操作都叫 DOM操作;页面在被浏览器解析渲染时,会实时、自动的产生一个比较大的 JS对象,叫做 DOM树对象; DOM操作:先从DOM树对象上获取想要操作的DOM对象,让后对其进行操作。

获取DOM对象的方式:

document.getElementById()    id属性值    获取:单一的DOM对象
document.getElementsByTagName()    标签名    获取:DOM对象组成的伪数组
document.getElementsByName()    name属性值    获取:DOM对象组成的伪数组        常用于表单元素
document.getElementsByclassName()    class属性值    获取:DOM对象组成的伪数组
document.querySelector()    CSS选择器        获取:单一的DOM对象
document.querySelectorAll()    CSS选择器    获取:    DOM对象组成的伪数组

通过document对象调用,获取元素节点:
    1getElementById() 通过id属性获取一个元素节点对象
    2getElementsByTagName() 通过标签名获取一组元素节点对象
    3getElementsByName() 通过name属性获取一组元素节点对象

通过具体的元素节点调用,获取元素节点的子节点:
    1getElementsByTagName() 返回当前节点的指定标签名后代节点
    2、childNodes  -属性,表示当前节点的所有子节点
    3、firstChild  -属性,表示当前节点的第一个子节点
    4、lastChild   -属性,表示当前节点的最后一个子节点

通过具体的节点调用,获取父节点和兄弟节点:
    1、parentNode   表示当前节点的父节点
    2、previousSibling  表示当前节点的前一个兄弟节点
    3、nextSibling  表示当前节点的后一个兄弟节点

获取body标签对应的 DOM对象    document.body 直接获取
获取整个页面对应的DOM对象    document.documentElement   这是一个属性,不是方法

​    写HTML标签时,标签上的属性叫作    标签属性
​    获取DOM对象后,DOM对象的属性叫作    DOM属性
​    表单的value标签属性是指默认的内容;DOM属性value是指用户输入的内容
​    表单的checked标签属性是指默认选中;DOM属性checked是指用户当前是否选中

**创建元素节点**    document.createElement(“标签名”)
​    **添加节点**    父dom对象.appendChild(dom对象)        //在父标签的末尾添加
​            父dom对象.insertBefore(新dom对象,已经存在的dom对象)    //添加到某个节点前面,要先获取这个节点的父节点

**插入节点** 父节点.appendChild(新的子节点);    父节点最后插入一个子节点
        父节点.insertBefore(新的子节点,作为参考的子节点);    在参考节点前插入一个新的子节点,参考节点为null 在父节点最后插入
**删除节点** 父节点删除子节点:    父节点.removeChild(子节点);
**复制节点** 要复制的节点.cloneNode();    不带参数/参数false,只复制节点本身,不复制子节点    带参数true ( 要复制的节点.cloneNode(true) ) 既复制节点本身,也复制子节点