dom

javascript Dom 编程

一世执手 提交于 2020-01-20 01:19:56
 javascript Dom 编程 知识概要: (1)Dom是什么? (2)Dom结构模型 (3)XML DOM和 HTML DOM (4)NODE接口的特性和方法 (5)DOM结点的常用属性 (6)DOM结点的常见操作 1.Dom是什么? document object model 文档对象模型 是W3C织制订的一套用于访问XML和HTML文档的标准.允许脚本动态地访问和更新文档的内容、结构和样式. 分类 DOM Core XML DOM HTML DOM XML介绍 2.Dom结构模型 Dom树形结构图如下 XML DOM 定义了访问和处理 XML 文档的标准方法 HTML文档格式 符合XML语法标准,所以可以使用XML DOM API 在XML DOM每个元素 都会被解析为一个节点Node,而常用的节点类型又分为 元素节点 Element 属性节点 Attr 文本节点 Text 文档节点 Document HTML DOM 定义了针对 HTML文档的对象,可以说是一套 更加适用于 JavaScript 技术开发 的API HTML DOM是对XML DOM的扩展 进行 JavaScript DOM开发 可以同时使用 XML DOM和 HTML DOM Node结点的特性和方法: 特性 / 方法 类型 / 返回类型 说 明 nodeName String 节点的名字

DOM总结

妖精的绣舞 提交于 2020-01-20 00:45:23
  DOM(文档对象模型)提供标签对象通用的访问方式,将Html文件视为一颗节点树,没一个标签和文字都是一个节点,可以走访文件的节点和访问Html标签的内容。   DOM树中的不同类型的节点有一些共同的属性和方法,通过这些属性和方法,我们可以访问DOM树中的所有节点、动态创建各种类型的节点。节点是DOM中最基本的对象类型,节点就是DOM树中的任何事物。 一、访问节点   访问元素时,我们应该知道该文件的文档元素是什么:   document.documentElement--访问元素; 二、检测节点类型   通过使用nodeType特性检测节点类型:   alert(document.nodeType);   alert(document.documentElement.nodeType); 三、处理元素属性   节点对象即使具有attributes方法,但已经被所有类型的节点继承,只有元素节点才能有特性。元素节点的attributes属性其实是NameNodeMap,提供了用于访问和处理其内容的方法;   1)getNamedItem(name)--返回nodeName属性值等于name节点;   2)removegetNamedItem(name)--删除nodeName属性值等于name节点;   3)setNamedItem(name)--将node添加到列表中

Java web JavaScript DOM 编程

╄→гoц情女王★ 提交于 2020-01-20 00:44:36
 JavaScript DOM 编程 (1).DOM概述及分类 (2).DOM结构模型:XML DOM 和 HTML DOM 关系? (3).结点,结点树,结点属性与方法? 1.DOM是什么? document object model 文档对象模型 是W3C织制订的一套用于访问XML和HTML文档的标准.允许脚本动态地访问和更新文档的内容、结构和样式. 分类 DOM Core XML DOM HTML DOM 2. DOM结构模型:XML DOM 和 HTML DOM 关系? 3. nodeName String 节点的名字;根据节点的类型而定义 nodeValue String 节点的值;根据节点的类型而定义 nodeType Number 节点的类型常量值之一 ownerDocument Document 指向这个节点所属的文档 firstChild Node 指向在childNodes列表中的第一个节点 lastChild Node 指向在childNodes列表中的最后一个节点 childNodes NodeList 所有子节点的列表 parentNode Node 返回一个给定节点的父节点。 previousSibling Node 指向前一个兄弟节点;如果这个节点就是第一个兄弟节点,那么该值为null nextSibling Node 指向后一个兄弟节点

javascript快速入门15--节点

谁都会走 提交于 2020-01-20 00:42:53
节点类型 DOM定义了Node的接口以及许多种节点类型来表示节点的多个方面! Document——最顶层的节点,所有的其他节点都是附属于它的。 DocumentType——DTD引用(使用<!DOCTYPE >语法)的对象表现形式,例如<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >。它不能包含子节点。 DocumentFragment——可以像Document一样来保存其他节点。 Element——表示起始标签和结束标签之间的内容,例如<tag ></tag >或者<tag / >。这是唯一可以同时包含特性和子节点的节点类型。 Attr——代表一对特性名和特性值。这个节点类型不能包含子节点。 Text——代表XML文档中的在起始标签和结束标签之间,或者CData Section内包含的普通文本。这个节点类型不能包含子节点。 CDataSection——<![CDATA[ ]]>的对象表现形式。这个节点类型仅能包含文本节点Text作为子节点。 Entity——表示在DTD中的一个实体定义,例如<!ENTITY foo "foo">。这个节点类型不能包含子节点。 EntityReference——代表一个实体引用,例如"。这个节点类型不能包含子节点。 ProcessingInstruction—

js操作dom元素属性和方法

蓝咒 提交于 2020-01-20 00:41:17
1.用于处理xml文档的dom元素属性 属性名 描述 childNodes返回当前元素所有子元素的数组 firstChild返回当前元素的第一个下级子元素 lastChild返回当前元素的最后一个子元素 nextSbling返回紧跟在当前元素后面的元素 nodeValue指定表示元素值的读写属性 parentNode返回元素的父节点 previousSibling返回紧邻当前元素之前的的元素 2.用于遍历XML文档的dom元素方法 方法名 描述 getElementById(document)获取指定唯一id属性值文档中的元素。 getElementByTagName(name)返回当前元素中指定标记名的子元素数组 hasChildNodes()返回一个布尔值,只是元素是否有子元素 getAttribute(name)返回元素的属性值,属性由name指定 3.动态创建内容是所用的w3c dom属性和方法 属性\方法 描述 document.createElement(tagName)文档对象上的createElement方法可以创建由tagName指定的元素。如果以串div作为方法参数,就会生成一个div元素 document.createTextNode(text) 文档对象的createTextNode方法会创建一个包含静态文本的节点 <element>.appendChild

javaScript操作DOM对象

瘦欲@ 提交于 2020-01-20 00:36:00
1.理解DOM:   DOM(Document Object Model ,文档对象模型)一种独立于语言,用于操作xml,html文档的应用编程接口。   怎么说,我从两个角度理解: 对于JavaScript,为了能够使JavaScript操作Html,JavaScript就有了一套自己的dom编程接口。 对于Html,dom使得html形成一棵dom树,类似于一颗家族树一样,一层接一层,子子孙孙。   所以说,有了DOM,在我看来就是相当于JavaScript拿到了钥匙一样可以去操作Html的每一个节点,触摸Html每寸肌肤。(咳。。。) 3.认识JavaScript中的DOM编程接口: 上面说了html形成的dom树,接着说下通过js的dom编程接口去操作这棵dom树。 JavaScriptDOM操作的常用方法和属性:: 常用方法: 获取节点: document. getElementById (idName) //通过id号来获取元素,返回一个元素对象 document. getElementsByName (name) //通过name属性获取id号,返回元素对象数组 document. getElementsByClassName (className) //通过class来获取元素,返回元素对象数组(ie8以上才有) document.

JS 之 Bom/Dom/节点

吃可爱长大的小学妹 提交于 2020-01-19 22:19:31
一、什么是BOM? 浏览器对象模型 二、BOM中的顶级对象是什么? window 三、window下有哪些子对象? document location history navigator frames screen 四、如何实现跳转页面? window.location location.href 五、如何刷新页面? location.reload([true]) history.go(0) 六、window下方法 1. alert() : 警告框 2. confirm() : 选择框 3. prompt() : 提示输入框 4. open() : 打开一个新窗口 5. close() : 关闭当前窗口 七、计时器(延时器、定时器) 间歇性计时器: setInterval(函数,毫秒数) clearInterval() 一次性计时器: setTimeout(函数,毫秒数) clearTimeout() 八、什么是DOM? 文档对象模型 九、如何获取页面元素对象? 1. document.getElementById() 返回对象,失败,返回null 2. document.getElementsByTagName() 返回伪数组 3. document.getElementsByClassName() 返回伪数组,IE9以下不兼容 function byClassName(obj

原生js获取子元素

孤街浪徒 提交于 2020-01-19 19:03:39
获取子元素的方法有 //获取第一个demo类 dom = document.getElementsByClassName('demo')[0]; //获取父节点 dom.parentNode; //获取上一兄弟节点 dom.previousSibling; dom.nextSibling; //获取第一个子元素 dom.firstChild //最后一个元素 dom.lastChild //获取demo类下面的所有子元素 children = dom.childNodes; //因为浏览器会把dom节点下的空格 换行 文本都会当成一个元素 ,我们要找元素节点的话,只能把他们剔除 for(var i;i<children.length;i++){ if(children[i].nodeName == '#text'){ children.remove(children[i]); } }//这样我们可以选择我们想要的第几个子元素了 比如第二个元素 children[1] 备注: 可以console.log 查看对象属性 解决办法 来源: https://www.cnblogs.com/guiyishanren/p/12214757.html

Vue源码循序渐进系列5-diff算法

好久不见. 提交于 2020-01-19 12:34:05
  知乎上有一篇文章挺有意思,叫做 网上都说操作真实 DOM 慢,但测试结果却比 React 更快,为什么? ,旨在抨击虚拟DOM没有那么牛B,打开题主所附的链接进去操作了几把,刨去不同浏览器、硬件等差异条件,发现并没有那么糟糕,总的来说React除了第一次比原生的慢,后面的几乎在渲染效率上较原生Dom、Angular等操作更快,主要原因里面的朋友还是做了讨论: 1. React首次需要创建Virtual DOM,这一过程比较耗时; 2. 后期再更新时,React利用diff算法进行差异性更新,而原生DOM操作方式需要先删除之前的DOM节点元素,然后再依次添加节点。   还是比较赞同尤大的说法,React采用Virtual DOM产生的主要是简化普通前端开发人员的工作量,数据驱动让我们能够更加专注于业务逻辑开发,在性能优化方面是相对具有普适性,比较不是所有前端都是能够有完美性能优化的能力,并且花大量时间去做优化工作可能并不会取到很好的正面效果(当然也不是说不去关注前端的性能优化问题)。好吧,言归正传,接下来,针对对Vue数据响应式更新的数据更新过程。 _update过程   当Vue组件可观察的数据发生改变时,通过数据的setter中的通知到对应的观察Watcher发生动作,最终我们知道这些改变可能触发组件的Render Watcher进行页面的重新渲染

.NET HTML DOM Parser? [closed]

强颜欢笑 提交于 2020-01-19 05:25:50
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 6 years ago . Does anybody know of a freely available .NET HTML DOM Parser? 回答1: The Html Agility Pack is your friend. It's been very well tested (coping with tag soup as well as well-formed (X)HTML). I've also heard that people have had not had any issues using it in production applications. 来源: https://stackoverflow.com