Dom操作注意事项

基本概念:

在 HTML DOM (文档对象模型)中,每个部分都是节点:

  • 文档本身是文档节点
  • 所有 HTML 元素是元素节点
  • 所有 HTML 属性是属性节点
  • HTML 元素内的文本是文本节点 (包括回车符也是属于文本节点)
  • 注释是注释节点

Element 对象可以拥有类型为元素节点、文本节点、注释节点的子节点。

NodeList 对象表示节点列表,比如 HTML 元素的子节点集合。

元素也可以拥有属性。属性是属性节点。

总结:元素是元素节点,是节点中的一种,但元素节点中可以包含很多的节点。

1.双标签给其内文本赋值时,使用innerText属性: 例如: p标签

2.单标签给其文本赋值时,使用value属性: 例如: input标签

3.。 innerHtml,innerText,value三者区别与联系

https://blog.csdn.net/qq_30567891/article/details/60466455

4.自定义属性

解释自定义属性和dom属性: https://www.cnblogs.com/elcarim5efil/p/4698980.html

1)获取自定义属性值

如下截图所示: score是自定义属性(li标签中没有这个属性),通过this。score是无法获取这个属性值的。必须使用getAttribute(“属性名称”)获取此属性值。即,this。getAttribute(“属性名称”)获取这个属性值。

2.设置自定义属性值

3。移除属性

5.节点

节点类型分类: 标签节点, 属性节点,文本节点

节点的属性:nodeType, nodeName, nodeValue

不同节点类型对应的值如下截图:

1.节点和元素操作

6.为元素绑定事件的两种方式

例子:

7.解绑事件

8.事件冒泡

定义: 多个元素嵌套,有层次关系,这些元素都定义了相同的事件,如果里面的元素的事件触发了,外面的元素的该事件自动触发了。

如下截图:

代码如下:

点击蓝色的div效果如下:

阻止事件冒泡

dom事件阶段

详细:https://www.cnblogs.com/alvinwei1024/p/4739344.html

事件处于哪个阶段可以通过。

$(element).addEventListener(event_name,handler,use_capture); 这个参数为true表示监听捕获阶段,如果为false表示监听冒泡阶段。其中可以打印出e。even:
tPhase来确定出发函数是是处于哪个阶段。

实例:

效果如下:

总结:

1.事件一共分为三个阶段:1.捕获 2.目标 3.冒泡。

  1.捕获  ---从外向里

  2.目标  ---点击的那个元素

   3.冒泡  ---从外向里

2。$(element).addEventListener(event_name,handler,use_capture);  use_capture为true或者false。当为true时,表示监听捕获阶段,即通过打印e。eventPhase可以得出1和2两个值; 当use_capture为false时,表示冒泡阶段,打印出的e。eventPhase值是2和3.

3. 监听的事件只能是1和2或者2和3. 1和3 不能同时出现。

7.同一个元素绑定不同事件

												

Dom操作注意事项的更多相关文章

  1. jQuery选择器和DOM操作——《锋利的jQuery》(第2版)读书笔记1

    第1章 认识jQuery jQuery有以下优势: 轻量级: 强大的选择器: 出色的DOM操作的封装: 可靠的事件处理机制: 完善的Ajax: 不污染顶级变量: 出色的浏览器兼容性: 链式操作方式: ...

  2. DOM操作 append prependTo after before

    通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作.但实际上一般开发者都习惯性的先定义好HTML结构,但这样就非常不灵活了. 试想下这样的情况:如果我们通过AJAX获取到数 ...

  3. 第一百一十六节,JavaScript,DOM操作样式

    JavaScript,DOM操作样式 一.操作样式 CSS作为(X)HTML的辅助,可以增强页面的显示效果.但不是每个浏览器都能支持最新的CSS能力.CSS的能力和DOM级别密切相关,所以我们有必要检 ...

  4. JS中的函数、BOM和DOM操作

     一.JS中的函数 [关于注释] /** [文档注释]:开头两个*.写在函数上方,在调用函数时可以看到文档上方的描述信息. */   // 单行注释 /* 多行注释 */ 1.函数的声明及调用 (1) ...

  5. JavaScript的BOM、DOM操作、节点以及表格(二)

    BOM操作 一.什么是BOM BOM(Browser Object Model)即浏览器对象模型.     BOM提供了独立于内容 而与浏览器窗口进行交互的对象:     BOM由一系列相关的对象构成 ...

  6. JavaScript之Dom操作【删除当前节点】

    //最新更新:2017-11-25 //现在可以通过更强大而快捷的方式为所有的HTMLElement元素的Dom操作扩展新的方法[注意事项:处理HTMLElemnt元素时,此法对IE-8无效] //原 ...

  7. jQuery学习之路(2)-DOM操作

    ▓▓▓▓▓▓ 大致介绍 jQuery作为JavaScript库,继承并发扬了JavaScript对DOM对象操作的特性,使开发人员能方便的操作DOM对象. ▓▓▓▓▓▓ jQuery中的DOM操作 看 ...

  8. 从DOM操作看Vue&React的前端组件化,顺带补齐React的demo

    前言 接上文:谈谈我对前端组件化中“组件”的理解,顺带写个Vue与React的demo 上次写完博客后,有朋友反应第一内容有点深,看着迷迷糊糊:第二是感觉没什么使用场景,太过业务化,还不如直接写Vue ...

  9. 摆脱DOM操作,从TodoMVC看angularJS

    取代jQuery? 我很久之前便听说了angularJS的大名,之前的leader也经常感叹angularJS的设计如何如何精妙,可叹一直没有机会深入了解,国庆长假因为没钱出游,倒是可以对他做一个了解 ...

随机推荐

  1. HTML第六章总结

    Something Serious of HTML 这一章节主要讲了 HTML 的历史,还有如何使得 HTML 更加规范. HTML's Brief History 在 HTML4 之前,struct ...

  2. android -------- ConstraintLayout 宽高比和偏移量比(三)

    前面的文章 ConstraintLayout 介绍 (一) ConstraintLayout约束属性 (二) 此博文主要讲解: app:layout_constraintHorizontal_bias ...

  3. server2008远程开端口的方法

    今天在通过本地链接远程oracle数据库的时候发现了个问题,建立好连接了,可是一直没连上,后面发现是防火墙的1521的oracle端口没开启.开启的方法可以采用如下方法: 操作:开始→控制面板→Win ...

  4. slf4j日志用法

    在pom.xml中添加日志依赖 <!--slf4j--> <dependency> <groupId>org.slf4j</groupId> <a ...

  5. React文档(三)介绍JSX

    我们先看看这个变量声明: const element = <h1>Hello, world!</h1>; 这个有趣的标签语法既不是字符串也不是HTML. 这种写法叫做JSX,这 ...

  6. HomeBrew的安装和简单使用

    homebrew 官网 https://brew.sh/ 转自:http://blog.csdn.NET/maojudong/article/details/7918291 1.  前言 作为Linu ...

  7. activiti实战系列之动态表单 formService 自定义变量类型

    目前Activiti默认支持的类型有String,long,enum,date,boolean,collection 要自定义字段类型,首先需要表单类型解析类 /** * @Author:LJ * @ ...

  8. loj 10000 活动安排

    ****这是一个贪心题,把结束时间排个序,然后留出更多的时间给后面的活动. #include<cstdio> #include<cstring> #include<alg ...

  9. MSSQL2012中SQL调优(SQL TUNING)时CBO支持和常用的hints

    虽然当前各关系库CBO都已经非常先进和智能,但因为关系库理论和实现上的限制,CBO在特殊场景下也会给出次优甚至存在严重性能问题的执行计划,而这些场景中,有一部分只能或适合通过关系库提供的hints来进 ...

  10. ActiveMQ topic 普通订阅和持久订阅

    直观的结果:当生产者向 topic 发送消息, 1. 若不存在持久订阅者和在线的普通订阅者,这个消息不会保存,当普通订阅者上线后,它是收不到消息的. 2. 若存在离线的持久订阅者,broker 会为该 ...