IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> DOM重点核心——pink老师笔记 -> 正文阅读

[JavaScript知识库]DOM重点核心——pink老师笔记


DOM 文档对象模型 (Document Object Model) 是W3C组织推荐的处理可扩展标记语言 (HTML或者XML)的标准编程接口。
通过这些DOM接口,可以改变网页的内容,结构和样式。
1、对于JS,为了能够使JS操作HTML,JS就有了一套自己的DOM编程接口。
2、对于HTML,dom使得html形成一棵dom树,包括文档,元素,节点。

  • 文档:一个页面就是一个文档,DOM中使用Document表示
  • 元素:页面中的所有标签都是元素,DOM中使用element表示
  • 节点:网页中的所有内容都是节点(标签,属性,文本,注释等),DOM中使用node表示
    我们获取过来的DOM元素是一个对象(Object),所以称为文档对象模型。
    关于dom操作,我们主要针对于元素的操作。主要有创建,增,删,改,查、属性操作、事件操作。

创建

1、document.write(直接将内容写入页面的内容流,但是文档流执行完毕,则它会导致页面全部重绘,同document.write)
2、innerHTML (将内容写入某个DOM节点,不会导致页面全部重绘,创建多个元素效率更高(不要拼接字符串,采取数组形式[document.body.innerHTML = array.join(’’);]拼接),结构稍微复杂)
3、createElement (创建多个元素效率稍低一点点,但是结构更清晰)

1、appendChild (末尾追加)
2、insertBefore (前面追加)

1、removeChild

改 —— 主要修改dom的元素属性,dom元素的内容,属性,表单的值等

1、修改元素属性:src,href,title等
2、修改普通元素内容:innerHTML(识别html标签,W3C标准,保留空格和换行。推荐),innerText(不识别html标签,非标准,去除空格和换行)
3、修改表单元素:value,type,disabled等
4、修改元素样式:style(修改比较少的时候使用,行内样式操作,所以优先级高,样式采取驼峰命名法 比如 fontSize,backgroundColor),className(修改比较多的时候使用,类名样式操作,会直接更改元素类名,会覆盖原先的类名,如果想保留原先的类名,我们可以这么做,多类名选择器)
查 —— 主要获取查询dom的元素
1、DOM提供的API方法:getElementById,getElementsByTagName(大小写敏感,若在当前Document下没有找到,则返回null,古老用法不推荐)
2、H5提供的新方法:querySelector(只获取第一个元素,类.,id是#),querySelectorAll (提倡)
3、利用节点操作获取元素:父(parentNode)、子(children)、兄(previousElementSibling、nextElementSibling)提倡
4、获取特殊对象:document.body(返回body元素对象) document.documentElement(返回html元素对象)
5、parentNode.childNodes (标准 子节点 childNodes所有的子节点 包含 元素节点 文本节点等)
6、parentNode.children是一个只读属性,返回所有的子元素节点,它只返回子元素节点,其余节点不返回(这个是我们重点掌握的)虽然children是一个非标准,但是得到了各个游览器的支持,因此我们可以放心使用
7、parentNode.firstChild和parentNode.lastChild
firstChild返回第一个子节点,找不到则返回null。同样,也是包含所有的节点
firstChild第一个子节点,不管是文本节点还是元素节点
8、firstElementChild(返回第一个子元素节点,但是有兼容性问题 IE9以上才支持)lastElementChild返回第一个子元素节点
9实际开发中,firstChild和lastChild包含其他节点,操作不方便,而firstElementChild和lastElementChild又有兼容性问题,那么我们如何
获取第一个子元素节点或者最后一个子元素节点呢?解决方法:实际开发中,既没有兼容性问题,又返回第一个子元素ol.children[0]和ol.children[ol.children.length-1]

属性操作 —— 主要针对自定义属性

1、setAttribute:设置dom的属性值
2、getAttribute:得到dom的属性值
3、removeAttribute:移除属性
4、常规取非自定义属性:element.属性 = 值
// h5新增的获取自定义属性的方法 它只能获取data-开头的
// dataset是一个集合里面存放了所有以data开头的自定义属性
console.log(div.dataset)
console.log(div.dataset.index)
console.log(div.dataset[‘index’])
如果是 data-list-name
div.getAttribute(‘data-list-name’)
console.log(div.dataset.listName) 驼峰命名法

事件操作 —— 给元素注册事件,采取事件源.事件类型 = 事件处理程序

onclick 鼠标点击左键触发
onmouseover 鼠标经过触发
onmouseout 鼠标离开触发
onfocus 获得鼠标焦点触发
onblur 失去鼠标焦点触发
onmousemove 鼠标移动触发
onmouseup 鼠标弹起触发
onmousedown 鼠标按下触发

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-11 23:54:12  更:2022-01-11 23:54:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:41:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码