dom对象

前端干货之JS最佳实践

岁酱吖の 提交于 2020-03-30 10:22:54
持续更新地址 https://wdd.js.org/js-best-pr... 1. 风格 一千个读者有一千个哈姆雷特 ,每个人都有自己的code style。我也曾为了要不要加分号给同事闹个脸红脖子粗,实际上有必要吗? 其实JavaScript已经有了比较流行的几个风格 JavaScript Standard Style Google JavaScript Style Guide Airbnb JavaScript Style Guide 我自己使用的是 JavaScript Standard Style , 我之所以使用这个,是因为它有一些工具。可以让你写完代码后,一旦保存,就自动帮你把你的风格的代码修正成标准分割,而不是死记硬背应该怎么写。看完这个页面,你就应该立马爱上 JavaScript Standard Style , 如果你用vscode, 恰好你有写vue, 你想在.vue文件中使用standard风格,那么你需要看看 这篇文章 2. 可维护性 很多时候,我们不是从零开始,开发新代码。而是去维护别人的代码,以他人的工作成果为基础。确保自己的代码可维护,是赠人玫瑰,手留余香的好事。一方面让别人看的舒服,另一方面也防止自己长时间没看过自己的代码,自己都难以理解。 2.1. 什么是可维护代码 可维护的代码的一些特征 可理解 易于理解代码的用途 可适应 数据的变化

JavaScript,Dom,jQuery

安稳与你 提交于 2020-03-30 05:21:05
JavaScript JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript 语言的规则编写相应代码,浏览器可以解释出相应的处理。 注:在编写代码时要养成一行代码以 “ ; ”(分号)结尾。因为在代码上线的时候,一般会对代码进行压缩,这时所有的JavaScript代码将被压缩为一行这时就需要以分号来识别一行代码的结束。 1,存在方式 文件方式 <script tyoe="text/javascript" src="JS文件"></script> 代码块 <script type="text/javascript"> JS代码 </script> 2,JavaScript 代码存在位置 HTML 的 head 中 HTML 的body代码块底部(推荐,因为HTML是从上到下解析的,放到上面如果代码出现问题无法解析,网站内容就无法正常的显示影响用户体验度) 3,变量 全局变量 局部变量 JavaScript中变量声明非常容易出错,局部变量必须以 var 开头,如果不加表示默认声明的是全局变量 name = "seven" # 全局变量 var name = "seven" # 局部变量 4,注释 // # 单行注释 /* */ # 多行注释 5,数据类型 数字(Number) var age = 18; var age

jquery(dom操作方法)

旧巷老猫 提交于 2020-03-29 05:18:22
1 创建节点 内部插入 { 1 append() $(selector).append("html,jquery,dom") 接受html字符串,匹配jquery和dom对象 插入节点后面 2 prepend() 同上 ,插入元素位置前面 }以上两种方法都具有破坏性,当重复调用则会删除前面匹配对象 外部插入 { 1 affter() 匹配元素之前插入 2 before() 匹配元素之后插入 } 内部插入与外部插入区别在于内部插入后与原节点关系为父子节点,而外部插入为兄弟节点。 2 删除内容 dom内置方法(nodechild.removechild(node) { 1 remove(selector) 主要删除当前匹配节点以及包含的子节点 2 empty() 同上 但不删除当前匹配节点 3 datach([expr])expr是一个选择表达式将需要移出元素从匹配元素中过滤出来 与上面两种方法不同detach()移除的节点以及节点内容都会保存下来 可以后面再接入dom文档中 } 3 包裹内容 { 外包 1 wrap(wrappingElement)参数表示html,选择表达式,jquery和dom对象 内包 2 wrapinner(xx)同上 总包 3 wrapall(xx) 卸包 4 unwrap()无参数 能将匹配元素的父级元素删除保留自身和兄弟元素 } wrap(

python开发之DOM

送分小仙女□ 提交于 2020-03-28 12:21:46
文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口。它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式。我们最为关心的是,DOM把网页和脚本以及其他的编程语言联系了起来。DOM属于浏览器,而不是JavaScript语言规范里的规定的核心内容。 一.查找元素 1、直接查找 document.getElementById 根据ID获取一个标签 document.getElementsByName 根据name属性获取标签集合 document.getElementsByClassName 根据class属性获取标签集合 document.getElementsByTagName 根据标签名获取标签集合 2、间接查找 parentNode // 父节点 childNodes // 所有子节点 firstChild // 第一个子节点 lastChild // 最后一个子节点 nextSibling // 下一个兄弟节点 previousSibling // 上一个兄弟节点 parentElement // 父节点标签元素 children // 所有子标签 firstElementChild // 第一个子标签元素 lastElementChild // 最后一个子标签元素 nextElementtSibling //

05-Vue入门系列之Vue实例详解与生命周期

谁都会走 提交于 2020-03-27 06:41:50
原文地址 http://www.cnblogs.com/fly_dragon/p/6220273.html 05-Vue入门系列之Vue实例详解与生命周期 Vue的实例是Vue框架的入口,其实也就是前端的ViewModel,它包含了页面中的业务逻辑处理、数据模型等,当然它也有自己的一系列的生命周期的事件钩子,辅助我们进行对整个Vue实例生成、编译、挂着、销毁等过程进行js控制。 5.1. Vue实例初始化的选项配置对象详解 前面我们已经用了很多次 new Vue({...}) 的代码,而且Vue初始化的选项都已经用了 data 、 methods 、 el 、 computedd 等,估计您看到这里时,应该已经都明白了他们的作用,我们就详细讲解一下他们的使用情况。更详细的请参考 官网内容 5.1.1. Vue实例的的data对象 介绍 Vue的实例的数据对象data 我们已经用了很多了,数据绑定离不开data里面的数据。也是Vue的核心属性。 它是Vue绑定数据到HTML标签的数据源泉,另外Vue框架会自动监视data里面的数据变化,自动更新数据到HTML标签上去。本质原理是:Vue会自动将data里面的数据进行递归抓换成getter和setter,然后就可以自动更新HTML标签了,当然用getter和setter所以老的浏览器Vue支持的不够好。 data对象的类型:

【浏览器中的页面】

元气小坏坏 提交于 2020-03-26 19:09:50
浏览器中的页面 一、DOM树 1、在渲染引擎中,DOM有三个层面的作用: DOM是表述HTML的内部数据结构,它会将Web页面和JavaScript脚本连接起来,并过滤一些不安全的内容 2、DOM树如何生成: 网络进程和渲染进程建立一个管道,HTML解析器直接解析,不需要等待text/html类型的数据全部接受完毕再进行解析 3、HTML 解析过程 ①通过分词器将字节流转换为token ②将token解析为DOM节点 (将token压入栈中,然后一个一个分析) ③将DOM节点添加到DOM树中 4、JavaScript如何影响DOM生成 暂停HTML解析,下载解析执行完毕后再继续进行html解析 (如果执行js代码期间遇到CSSDOM,则需要等待CSS 下载加载完成) 为了快速执行js,在DOM生成前,会有个预解析操作(当渲染引擎收到第一个字节流后,会开启一个预解析线程,用来分析HTML文件包含的JS,CSS等相关文件,并提前下载) CSS样式文件本身不会阻塞DOM生成,但是JS会阻塞DOM生成,而CSS样式文件会阻塞JS执行 5、渲染引擎有一个安全检查模块叫XSSAuditor,用来检查词法安全 二、CSS如何影响首次加载时的白屏时间 CSSDOM作用: 提供给Javascript操作样式表的能力 为布局树的合成提供基础的样式信息 URL 请求开始,到首次显示页面的内容

前端开发中的设计模式

别等时光非礼了梦想. 提交于 2020-03-26 02:08:36
1、MVC设计模式 MVC是一种设计模式,它将应用划分为3个部分:数据(模型)、展现层(视图)和用户交互(控制器)。换句话说,一个事件的发生是这样的过程: (1)用户和应用产生交互。 (2)控制器的事件处理器被触发。 (3)控制器从模型中请求数据,并将其交给视图。 (4)视图将数据呈现给用户。 V层是视图层,控制界面显示,将界面与数据连接。M层存放数据,处理逻辑,比如处理从数据库调用的数据,还有业务逻辑处理。C层用于连接M和V,Controller 负责显示界面、响应用户的操作以及与 Model 交互,比如操作DOM、对事件的监听。这就导致了Controller和 View 紧耦合、逻辑复杂,难以维护。 2、MVVM设计模式 MVVM与MVC最大的区别就是:它实现了View和Model的自动同步,也就是当Model的属性改变时,我们不用再自己手动操作Dom元素,来改变View的显示,而是改变属性后该属性对应View层显示会自动改变。 由此和view层分开来,只是注重数据的改动即可。 MVVM设计模式中最重要的就是实现了View和Model的自动同步,所以可以不用频繁地手动操作DOM元素。 比如说Vue框架,Vue实例中的data相当于Model层,而ViewModel层的核心是Vue中的双向数据绑定,即Model变化时VIew可以实时更新,View变化也能让Model发生变化。

Vue | 虚拟DOM

那年仲夏 提交于 2020-03-26 01:52:12
*/ /*--> */ 一、真实DOM和其解析流程 浏览器渲染引擎工作流程,大致可分为5步: 创建DOM树——创建StyleRules——创建Render树——布局Layout——绘制Painting 第一步,用HTML分析器,分析HTML元素,构建一颗DOM树(标记化和树构建)。 第二步,用CSS分析器,分析CSS文件和元素上的inline样式,生成页面的样式表。 第三步,将DOM树和样式表关联起来,构建一颗Render树(这一过程又称为Attachment)。 每个DOM节点都有 attach方法 ,接受样式信息,返回一个render对象(又名renderer)。 这些render对象最终会被构建成一颗Render树。 第四步,有了Render树,浏览器开始布局,为每个Render树上的节点确定一个在显示屏上出现的精确坐标。 第五步,Render树和节点显示坐标都有了,就调用每个节点paint方法,把它们绘制出来。 DOM树的构建过程: 构建DOM树是一个渐进过程,为达到更好用户体验,渲染引擎会尽快将内容显示在屏幕上。它不必等到整个HTML文档解析完毕之后才开始构建render数和布局。 这三个过程在实际进行的时候又不是完全独立,而是会有交叉。会造成一边加载,一遍解析,一遍渲染的工作现象。 CSS的解析是从右往左逆向解析的(从DOM树的下-上解析比上-下解析效率高)

Java数据解析之XML(原创)

时光毁灭记忆、已成空白 提交于 2020-03-24 20:58:58
文章大纲 一、XML解析介绍 二、Java中XML解析介绍 三、XML解析实战 四、项目源码下载 一、XML解析介绍   最基础的XML解析方式有DOM和SAX,DOM和SAX是与平台无关的官方解析方式,是基于事件驱动的解析方式。 1. DOM解析图解 DOM解析是直接把xml文件放入内存中,如果节点太多的话,就要考虑性能问题了。 2. SAX解析图解 SAX解析是走到哪个位置,就调用不同方法进行解析。 二、Java中XML解析介绍   Java中常见解析XML的方式有DOM、SAX、DOM4J、JDOM 1. 各大框架比较 DOM 优点: (1)形成树结构,直观好理解,代码更容易编写 (2)解析过程中树结构保留在内存中,方便修改 缺点: (1)当XML文件较大时,对内存消耗比较大,容易影响解析性能并造成内存溢出 SAX 优点: (1)采用事件驱动模式,对内存消耗较小 (2)适用于只需要处理XML中数据 缺点: (1)不易编码 (2)很难同时访问同一个XML中的多处不同数据 JDOM 优点: (1)是基于树的处理xml的java api,把树加载到内存中 (2)速度快 缺点: (1)不能处理大于内存的文档 (2)不支持于DOM中相应遍历包 DOM4J 优点:   dom4j有更复杂的api,所以dom4j比jdom有更大的灵活性 三、XML解析实战 1. 测试的XML文件

XML解析--DOM解析

独自空忆成欢 提交于 2020-03-24 19:09:28
xml解析:用程序来读取xml的内容。 xml的解析方式有两种: 1、DOM解析 2、SAX解析 xml解析对应的工具大致有以下几种: DOM解析工具:   1)JAXP(oracle-Sun公司官方)   2)JDOM工具(非官方)   3)Dom4J工具(非官方)三大框架默认读取xml的工具就是Dom4J SAX解析工具:   1)Sax解析工具(oracle-sun 公司官方) DOM解析 原理: xml解析器一次性把整个xml文档加载进内存,然后在内存中构建一颗Document的对象树,通过Document对象,得到树上的节点对象,通过节点对象访问(操作)xml文档的内容。 DOM(Document Object Model)文档对象模型,DOM的三层模型将html和xml定义成树形结构,文档中的标签、属性、文本等都封装成节点对象。 节点对象: 根节点:没有父节点的节点对象,xml中只有一个根节点。 元素节点:根节点和根节点中的所有标签都是元素节点。 属性节点:<student id=“001”></student> id就是属性节点。 文本节点:<name>zhangsan</name> zhangsan就是文本节点 注释节点:<!-- --> xml文档中的注释信息 Dom4j使用 Dom4j工具是非官方的,这里提供一个下载地址:http://pan.baidu.com