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 鼠标按下触发

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 非常感谢您对pink老师的javascript笔记的关注。这份笔记是一份非常实用的学习资料,适合初学者和进阶者使用。它包含了javascript的基础知识、语法、常用函数和DOM操作等内容,讲解详细、易懂。如果您想学习javascript,这份笔记是一个不错的选择。 ### 回答2: Pink老师的JavaScript笔记是关于前端开发学习过程中非常优秀的资料之一。这份笔记内容包括了JavaScript的基础知识、DOM、BOM、事件、Ajax等内容,非常全面地涵盖了前端开发所需要掌握的重要知识点。 在这份笔记中,Pink老师用通俗易懂的语言,将复杂的知识点进行了详细的解释和讲解。这不仅使得初学者能够轻松理解复杂的JavaScript语言,也让已经掌握一定JavaScript知识的开发者能够更深入地了解这门语言。此外,Pink老师还分享了大量实战案例,这些案例可以帮助学生们更好地掌握和运用大量的知识点。 笔记的布局设计非常清晰,内容及其丰富,并且与今天 Web 前端开发面临的实际问题有很大的联系,因而该笔记被包括许多开发者、爱好者和专家评为学习JavaScript的最佳资料之一。 综上所述,Pink老师的JavaScript笔记是一份非常优质的前端开发学习资料,它不仅可以帮助初学者建立完备的JavaScript知识体系,也可以让已经掌握一定JavaScript知识的开发者更深入地了解这门语言。它是前端开发者不可错过的优秀资料。 ### 回答3: Pink老师的JavaScript笔记覆盖了JavaScript语言的很多方面,包括数据类型、运算符、控制流、函数、数组、对象、DOM操作、事件处理等等。这份笔记相对来说比较简单易懂,很适合初学者入门学习。 首先,笔记中详细地介绍了JavaScript的数据类型,包括字符串、数字、布尔值、null、undefined和对象。这对于初学者来说是非常重要的基础,因为在JavaScript中一切皆为对象。 接着,笔记讲解了JavaScript中的运算符,包括算术运算符、比较运算符、逻辑运算符、赋值运算符等等。这些都是编程基础,也是JavaScript编程的必备知识点。 在控制流方面,笔记详细介绍了if语句、switch语句、for循环、while循环等等,让初学者能够清楚地了解JavaScript中的控制流程。 当然,函数也是JavaScript编程中非常重要的部分。笔记中对于函数的定义、参数、返回值以及作用域等方面都有详细的介绍,还有自定义函数和匿名函数的使用。 除此之外,JavaScript中的数组和对象也是非常重要的部分。笔记中讲解了如何创建数组和对象,以及如何使用它们的属性和方法。同时,笔记中也介绍了DOM操作和事件处理,让初学者能够掌握JavaScript中最常用的操作之一。 总的来说,Pink老师的JavaScript笔记比较适合初学者学习,它详细介绍了JavaScript的基本语法和常用操作,非常有利于帮助初学者建立起一个扎实的编程基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值