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. 雷林鹏分享:jQuery EasyUI 表单 - 格式化下拉框

    jQuery EasyUI 表单 - 格式化下拉框 本教程向您展示如何创建一个简单的下拉框(Combobox),让它在下拉框中显示图片项.您可以在下拉框(combobox)上使用 formatter ...

  2. 使用validate()方法进行输入校验 --Struts2框架

    服务器端的输入校验包含两种方式:硬编码方式和配置文件方式.本文演示硬编码方式中使用validate()方法进行输入校验. 1.项目目录结构: 2.项目核心代码: BookAction.java: pu ...

  3. C# 网页图片采集

    http://blog.csdn.net/a237428367/article/details/5987832 using System; using System.Collections.Gener ...

  4. LeetCode--434--字符串中的单词数

    问题描述: 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符. 请注意,你可以假定字符串里不包括任何不可打印的字符. 示例: 输入: "Hello, my name is Joh ...

  5. CCPC2017湘潭 1263 1264 1267 1268

    1263 拉升一下就A了 #include <iostream> #include <vector> #include <algorithm> #include & ...

  6. source code spark

    http://blog.csdn.net/pelick/article/category/1556747 http://www.cnblogs.com/hseagle/

  7. centos6 安装python3.5后pip无法使用的处理

    现象:安装pip后发现命令无法识别command not found 原因:which查看找到不到执行路径   find搜索发现安装后存放在/usr/local/python3.5/bin下,于是判断 ...

  8. 《完美应用ubuntu》之全面管理ubuntu软件源

    2.全面管理ubuntu软件包 2.1 DEB软件包之间的基本关系: (1)软件仓库:由ubuntu软件包的维护者维护并公开发布的DEB软件包的集合:可位于网络,服务器,硬盘等各种存储介质. (2)软 ...

  9. 在写makefile过程中遇到的问题

    老师布置了linux实验作业,本身不打算写了,反正也不交实验报告,但刚好项目也需要,所以就研究了makefile.不过还是要批评自己,怎么能这么的颓废呢? 刚开始做的时候出现了这样的错误,代码如下: ...

  10. git中.gitignore文件不起作用的解决

    git rm -r --cached . git add . git commit -m 'update .gitignore'