当前位置:文档之家› DOM 事件模型

DOM 事件模型

DOM 事件模型
DOM 事件模型

DOM 事件模型

事件

HTML元素事件是浏览器内在自动产生的,当有事件发生时html元素会向外界(这里主要指元素事件的订阅者)发出各种事件,如click,onmouseover,onmouseout等等。

DOM事件流

DOM(文档对象模型)结构是一个树型结构,当一个HTML元素产生一个事件时,该事件会在元素结点与根结点之间的路径传播,路径所经过的结点都会收到该事件,这个传播过程可称为DOM 事件流。

主流浏览器的事件模型

早在2004前在HTML元素事件的订阅,发送,传播,处理模型上各浏览器实现并不一致,直到DOM Level3中规定后,多数主流浏览器才陆陆续续支持DOM标准的事件处理模型—捕获型与冒泡型。

目前除IE浏览器外,其它主流的Firefox, Opera, Safari都支持标准的DOM事件处理模型。IE仍然使用自己的模型,即冒泡型,它模型的一部份被DOM采用,这点对于开发者来说也是有好处的,只使用DOM标准,IE都共有的事件处理方式才能有效的跨浏览器。

冒泡型事件(Bubbling)

这是IE浏览器对事件模型的实现,也是最容易理解的,至少笔者觉得比较符合实际的。冒泡,顾名思义,事件像个水中的气泡一样一直往上冒,直到顶端。从DOM树型结构上理解,就是事件由叶子结点沿祖先结点一直向上传递直到根结点;从浏览器界面视图HTML元素排列层次上理解就是事件由具有从属关系的最确定的目标元素一直传递到最不确定的目标元素.

捕获型事件(Capturing)

Netscape Navigator的实现,它与冒泡型刚好相反,由DOM树最顶层元素一直到最精确的元素,这个事件模型对于开发者来说(至少是我..)有点费解,因为直观上的理解应该如同冒泡型,事件传递应该由最确定的元素,即事件产生元素开始。

但这个模型在某些情况下也是很有用的,接下来会讲解到。

DOM标准事件模型

因为两个不同的模型都有其优点和解释,DOM标准支持捕获型与冒泡型,可以说是它们两者的结合体。它可以在一个DOM元素上绑定多个事件处理器,并且在处理函数内部,this关键字仍然指向被绑定的DOM元素,另外处理函数参数列表的第一个位置传递事件event对象。

首先是捕获式传递事件,接着是冒泡式传递,所以,如果一个处理函数既注册了捕获型事件的监听,又注册冒泡型事件监听,那么在DOM事件模型中它就会被调用两次。

注册与移除事件监听器

注册事件监听器,或又称订阅事件,当元素事件发生时浏览器回调该监听函数执行事件处理。目前主流浏览器中有两种注册事件的方法,一种是IE浏览器的,另一种是DOM标准的。

1.直接JS或HTML挂载法

element.onclick=function(){alert(this.innerHTML);}

移除时将事件属性设为nul即可,这个也是最常用的方法了,优缺点也是显然的:

?简单方便,在HTML中直接书写处理函数的代码块,在JS中给元素对应事件属性赋值即可

?IE与DOM标准都支持的一种方法,它在IE与DOM标准中都是在事件冒泡过程中被调用的。

?可以在处理函数块内直接用this引用注册事件的元素

?要给元素注册多个监听器,就不能用这方法了

2. IE下注册多个事件监听器与移除监听器方法

IE浏览器中HTML元素有个attachEvent方法允许外界注册该元素多个事件监听器,例如

element.attachEvent('onclick', observer);

attachEvent接受两个参数。第一个参数是事件名称,第二个参数observer是回调处理函数。这里得说明一下,有个经常会出错的地方,IE下利用attachEvent注册的处理函数调用时this指向不再是先前注册事件的元素,这时的this为window对象了,笔者很奇怪IE为什么要这么做,完全看不出好处所在。

要移除先前注册的事件的监听器,调用element的detachEvent方法即可,参数相同。

element.detachEvent('onclick', observer);

3. DOM标准下注册多个事件监听器与移除监听器方法

实现DOM标准的浏览器与IE浏览器中注册元素事件监听器方式有所不同,它通过元素的addEventListener方法注册,该方法既支持注册冒泡型事件处理,又支持捕获型事件处理。

element.addEventListener('click', observer, useCapture);

addEventListener方法接受三个参数。第一个参数是事件名称,值得注意的是,这里事件名称与IE的不同,事件名称是没’on’开头的;第二个参数observer是回调处理函数;第三个参数注明该处理回调函数是在事件传递过程中的捕获阶段被调用还是冒泡阶段被调用

移除已注册的事件监听器调用element的removeEventListener即可,参数不变.

element.removeEventListener('click', observer, useCapture);

跨浏览器的注册与移除元素事件监听器方案

弄清楚DOM标准与IE的注册元素事件监听器之间的异同后,就可以实现一个跨浏览器的注册与移除元素事件监听器方案:

//注册

function addEventHandler(element, evtName, callback, useCapture){

//DOM标准

if(element.addEventListener){

element.addEventListener(evtName, callback, useCapture);

}else{

//IE方式,忽略useCapture参数

element.attachEvent('on'+ evtName, callback);

}

}

//移除

//注册

function removeEventHandler(element, evtName, callback, useCapture){

//DOM标准

if(element.removeEventListener){

element.removeEventListener(evtName, callback, useCapture);

}else{

//IE方式,忽略useCapture参数

element.dettachEvent('on'+ evtName, callback);

}

}

如何取消浏览器事件的传递与事件传递后浏览器的默认处理

先说明取消事件传递与浏览器事件传递后的默认处理是两个不同的概念,可能很多同学朋友分不清,或者根本不存在这两个概念。

取消事件传递是指,停止捕获型事件或冒泡型事件的进一步传递。例如上图中的冒泡型事件传递中,在body处理停止事件传递后,位于上层的document的事件监听器就不再收到通知,不再被处理。

事件传递后的默认处理是指,通常浏览器在事件传递并处理完后会执行与该事件关联的默认动作(如果存在这样的动作)。例如,如果表单中input type 属性是“submit”,点击后在事件传播完浏览器就就自动提交表单。又例如,input 元素的keydown 事件发生并处理后,浏览器默认会将用户键入的字符自动追加到input 元素的值中。

要取消浏览器的件传递,IE与DOM标准又有所不同。

在IE下,通过设置event对象的cancelBubble为true即可。

function someHandle(){

window.event.cancelBubble=true;

}

DOM标准通过调用event对象的stopPropagation()方法即可。

function someHandle(event){

event.stopPropagation();

}

因些,跨浏览器的停止事件传递的方法是:

function someHandle(event){

event = event || window.event;

if(event.stopPropagation)

event.stopPropagation();

else event.cancelBubble=true;

}

取消事件传递后的默认处理,IE与DOM标准又不所不同。

在IE下,通过设置event对象的returnValue为false即可。

function someHandle(){

window.event.returnValue=false;

}

DOM标准通过调用event对象的preventDefault()方法即可。

function someHandle(event){

event.preventDefault();

}

因些,跨浏览器的取消事件传递后的默认处理方法是:

function someHandle(event){

event = event || window.event;

if(event.preventDefault)

event.preventDefault();

else event.returnValue=false;

}

捕获型事件模型与冒泡型事件模型的应用场合

标准事件模型为我们提供了两种方案,可能很多朋友分不清这两种不同模型有啥好处,为什么不只采取一种模型。

这里抛开IE浏览器讨论(IE只有一种,没法选择)什么情况下适合哪种事件模型。

1. 捕获型应用场合

捕获型事件传递由最不精确的祖先元素一直到最精确的事件源元素,传递方式与操作系统中的全局快捷键与应用程序快捷键相似。当一个系统组合键发生时,如果注册了系统全局快捷键监听器,该事件就先被操作系统层捕获,全局监听器就先于应用程序快捷键监听器得到通知,也就是全局的先获得控制权,它有权阻止事件的进一步传递。所以捕获型事件模型适用于作全局范围内的监听,这里的全局是相对的全局,相对于某个顶层结点与该结点所有子孙结点形成的集合范围。

例如你想作全局的点击事件监听,相对于document结点与document下所有的子结点,在某个条件下要求所有的子结点点击无效,这种情况下冒泡模型就解决不了了,而捕获型却非常适合,可以在最顶层结点添加捕获型事件监听器,伪码如下:

function globalClickListener(event){

if(canEventPass ==false){

//取消事件进一步向子结点传递和冒泡传递

event.stopPropagation();

//取消浏览器事件后的默认执行

event.preventDefault();

}

}

这样一来,当canEventPass条件为假时,document下所有的子结点click注册事件都不会被浏览器处理。

2. 冒泡型的应用场合

可以说我们平时用的都是冒泡事件模型,因为IE只支持这模型。这里还是说说,在恰当利用该模型可以提高脚本性能。在元素一些频繁触发的事件中,如onmousemove,

onmouseover,onmouseout,如果明确事件处理后没必要进一步传递,那么就可以大胆的取消它。此外,对于子结点事件监听器的处理会对父层监听器处理造成负面影响的,也应该在子结点监听器中禁止事件进一步向上传递以消除影响。

综合案例分析

最后结合下面HTML代码作分析:

HTML运行后点击红色区域,这是最里层的DIV,根据上面说明,无论是DOM标准还是IE,直接写在html里的监听处理函数是事件冒泡传递时调用的,由最里层一直往上传递,所以会先后出现current is event_source

current is div2

current is div1

current is div0

current is body

添加以下片段:

var div2 = document.getElementById('div2');

addEventHandler(div2,'click',function(event){

event = event || window.event;

if(event.stopPropagation)

event.stopPropagation();

else event.cancelBubble=true;

},false);

当点击红色区域后,根据上面说明,在泡冒泡处理期间,事件传递到div2后被停止传递了,所以div2上层的元素收不到通知,所以会先后出现:

current is event_source

current is div2

在支持DOM标准的浏览器中,添加以下代码:

document.body.addEventListener('click',function(event){

event.stopPropagation();

},true);

以上代码中的监听函数由于是捕获型传递时被调用的,所以点击红色区域后,虽然事件源是ID为event_source的元素,但捕获型选传递,从最顶层开始,body结点监听函数先被调用,并且取消了事件进一步向下传递,所以只会出现

current is body

关于DOM事件模型的两件事[多图]

日期:2007年11月26日作者:

o事件捕捉(Event Capture)的实现问题

o IE的高级事件处理模型的问题

一、事件捕捉(Event Capture)的实现问题

首先在说这件事前,先感谢一下Realazy。

W3C DOM Level2的事件模型规范中,事件在DOM树中的传播过程(从根节点到目标节点)被分为了两个阶段:捕捉(Capture)和冒泡(Bubbling)。下面这个图能大概的说明整个过程:

关于DOM事件模型的两件事[多图]

日期:2007年11月26日作者:

The DOM spec states that capturing events should not fire on target, because the idea of a capturing

event is to detect events before they reach their targets. Because of bugs in Gecko and Safari, web

content that is tested mostly with Firefox or other Gecko-based browsers sometimes expects capturing listeners to fire on target. Such content will fail in Opera 7, 8 and current releases of 9 because of its correct implementation of the standard.

大意是说:DOM规范中陈述了捕捉型的事件不应该在目标元素上被执行,因为捕捉型事件的用意就是为了监测到达目标元素之前的事件。Firefox和Safari的实现都是带有bug的。

再来看看W3C的DOM Events规范中的原话:

A capturing EventListener will not be triggered by events dispatched directly to the EventTarget upon

which it is registered.

所以,在整个事件传播中,被执行的顺序是:

1.父元素中所有的捕捉型事件(如果有)自上而下地执行

2.目标元素的冒泡型事件(如果有)

3.父元素中所有的冒泡型事件(如果有)自下而上地执行

在了解了这些后,也许还是不要使用事件捕捉为妙,至少暂时不要。

二、IE的高级事件处理模型的问题

重复绑定

IE下没有addEventListener,但是也有自己的attachEvent,即所谓的Microsoft Model。二者的实现基本相同只是attachEvent的第一个参数(事件类型)需要加”on”,而addEventListener不用,另外attachEvent因为不支持事件捕捉,所以也没有第三个参数。

然而,attachEvent还有一个很要命的问题:重复绑定事件。(这是从ppk on JavaScript中学到的)

一个例子:

function sayHello(){

alert('Hello, world!');

}

// W3C Model

$('div1').addEventListener('click', sayHello, false);

(from W3C)

如果想创建一个捕捉事件,在支持W3C 事件模型的浏览器中,将addEventListener的第三个参数设为true就好了。例如:

document.getElementById('foo').addEventListener('click',function(){alert('Hello, world!');},true);

前一阵因为想弄懂事件捕捉,所以做了点小实验,分别在Firefox 2、Safari 3 on Windows和Opera 9上实践了事件捕捉(当然,因为IE不支持事件捕捉,所以…),实验的原理见下图:

ID为div1和div2的两个元素都被委派了捕捉阶段的事件处理函数,这样:

o当点击#div1(蓝色区域)时,应该会alert出”div1″

o当点击#div2(黄色区域)时,应该会先alert出”div1″,再alert出”div2″,因为在事件捕捉阶段,事件是从根元素向下传播的,#div1是#div2的父元素,自然绑定在#div1上的

click事件也会先于#div2上的click事件被执行。

然而,以上的设想只试用于Firefox 2和Safari 3 on Windows,在Opera 9中,事情会变成这样:

o当点击#div1(蓝色区域)时,什么都不会发生

o当点击#div2(黄色区域)时,会alert出”div1″,随后什么都不会再发生

可以看出,在Opera 9中,目标元素(TargetElement)的click事件没有被执行。通过Realazy(orz…)的指点,找到了这篇文章:《Event capture explained》,发现,

// Microsoft Model

$('div1').attachEvent('onclick', sayHello);

$('div1').attachEvent('onclick', sayHello);

在W3C模型中,相同事件处理函数的绑定会被忽略,也就是说第二个

$('div1').addEventListener('click', sayHello, false);会被忽略。

而在Microsoft模型中,第二个$('div1').attachEvent('onclick', sayHello);同样会被执行,所以,当你点击#div1的时候,alert框会弹出来两次。更有甚者,在detachEvent时候,也同样要detachEvent 两次才能彻底把sayHello从#div1的click事件中删除。

为什么不继续使用alertID()了?

这是因为IE的事件模型的另一个缺陷,在alertID中,使用了this关键字来指代被委派了该事件处理函数的元素,这样,在W3C模型中,alertID中的this指代了#div1或者#div2。

但是在Microsoft模型中,缺少了对this的支持后,this.id就会变为undefined,因为这时候this指代了window对象。

jquery中获得jq对象(dom对象集合)的方法

jquery对象访问。 Jq对象(dom对象集合)的Eq方法和jq选择器返回的都是是jquery对象,只能使用jquery 方法;Jq对象(dom集合)的get方法和“jq对象[i]”返回的是dom元素对象,只能使用dom方法。 Jq对象的find(selector |obj|ele)和children用来查找子对象和后代对象 Jq对象的find方法用于查找当前jq对象(dom集合)的后代对象,Jq对象的children方法用于查找当前jq对象(dom集合)的子对象对象。这两个方法都只能使用jq对象(dom对象集合)来调用,并且他们返回的也是jq对象。 Jq手册中的api方法都是js对象(dom集合)对象或者$对象的方法。只能使用jq对象(dom 集合)或者$来调用。如each,attr、val,find,children等等 Jq对象的index方法搜索当前集合中的匹配的元素,并返回相应元素的索引值,从0开始计数 如果不给index方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置。 如果参数是一组DOM元素或者jQuery对象,那么返回值就是传递的元素相对于原先集合的位置。 如果参数是一个选择器,那么返回值就是原先元素相对于选择器匹配元素中的位置。如果找不到匹配的元素,则返回-1。 Jq选择器 1、个基本选择器: 基本选择器可以拼接一起来选择某组元素,原则: 对同一个元素描述的多个基本选择器中间没有任何间隔。 如div[name=aa]表示name属性等于aa的div元素(元素名选择器div和属性选择器[name=aa]中间没有任何间隔)。 div.cval表示class值等于cval的div元素,表示class值等于cval是div元素(类选择器.cval 和元素名选择器div之间同样没有任何间隔) #id值 .class值 元素名 //属性 [attr]具有aaa属性

50个实用的JQUERY案例

jquery案例 jquery案例1.如何创建嵌套的过滤器: 1.//允许你减少集合中的匹配元素的过滤器, 2.//只剩下那些与给定的选择器匹配的部分。在这种情况下, 3.//查询删除了任何没(:not)有(:has) 4.//包含class为“selected”(.selected)的子节点。 5..filter(":not(:has(.selected))") jquery案例2.如何重用元素搜索 1.var allItems=$("div.item"); 2.var keepList=$("div#container1div.item"); 3.//现在你可以继续使用这些jQuery对象来工作了。例如, 4.//基于复选框裁剪“keep list”,复选框的名称 5.//符合 6.

class names: 7.$(formToLookAt+"input:checked").each(function(){ 8.keepList=keepList.filter("."+$(this).attr("name")); 9.}); 10.
jquery案例3.任何使用has()来检查某个元素是否包含某个类或是元素: 1.//jQuery1.4.*包含了对这一has方法的支持。该方法找出 2.//某个元素是否包含了其他另一个元素类或是其他任何的 3.//你正在查找并要在其之上进行操作的东东。 4.$("input").has(".email").addClass("email_icon"); jquery案例4.如何使用jQuery来切换样式表 1.//找出你希望切换的媒体类型(media-type),然后把href设置成新的样式表。 2.$('link[media='screen']').attr('href','Alternative.css'); jquery案例5.如何限制选择范围(基于优化目的): 1.//尽可能使用标签名来作为类名的前缀, 2.//这样jQuery就不需要花费更多的时间来搜索 3.//你想要的元素。还要记住的一点是, 4.//针对于你的页面上的元素的操作越具体化, 5.//就越能降低执行和搜索的时间。

4:JavaScriptjavaDOM

JavaScript制作页面特效课后练习 1.在某页面中有一个图片和五个超链接,如下图所示,单击不同的数字超链接显示不同的 图片: 图1 图片幻灯片显示效果 提示: (1)默认显示一个图片,五个超链接调用同一个传参函数,参数设置为显示图片的名称。 (2)使用“对象名.属性值”或setAttribute()的方式改变图片的名称。 2.做一个模仿删除用户的页面,功能如下: 默认情况下,在一个Table 里面放置若干用户信息,后面有“删除”链接:

图2 模仿删除用户的页面效果1 点击“删除”链接,弹出对话框,提示用户是否继续操作: 图3 模仿删除用户的页面效果2 用户点击确定后,要删除的一行,自动加上删除线,表示处于删除状态: 图4 模仿删除用户的页面效果3 提示: (1)使用confirm 弹出确认框,如果用户点击“确定”,则返回true,进行下一步操作; (2)定义一个类样式,用来标识删除状态,如果用户点击了“确定”按钮之后,该行所对 应的tr 标签,自动应用该类样式。 3.做一个横向导航菜单,并且每一项均包含一个二级的菜单,效果图如下:

图5 横向导航菜单 当鼠标不在菜单上时,二级菜单不显示,当鼠标移动到任一项上时,显示该项对应的二级菜 单。 提示: (1)使用对象的display 属性可以控制对象的显示与隐藏; (2)使用相对定位/绝对定位来控制二级菜单的显示位置; (3)使用鼠标的两个事件(onmouseove/onmouseout)来触发控制函数。 4.做一个横向不间断滚动的特效,效果图如下:

图6 图片横向滚动特效 要求:图片始终横向向左滚动,并且每一张图片首尾相连,不存在间断。 提示: (1)若要使图片不间断,则需要将图片列表重复一次,这样第一遍的末尾图片和第二遍的 开始图片就能相连了,即使用innerHTML 属性让图片内容翻倍;(2)使用setInterval()方法,可以控制一个函数每隔多少毫秒执行一次; (3)使用绝对定位与相对定位结合,可以使图片所在的层相对于父层的位置可控,方便随 着计时器的执行,left 的值递减;

HTML DOM简要教程

第一部分HTML DOM简介 1 DOM简介 HTML文档对象模型 HTML文档对象模型(Document Object Model)定义了访问和处理 HTML 文档的标准方法。HTML DOM 把 HTML 文档呈现为带有元素、属性和文本的树结构(节点树)。 什么是 DOM? 通过JavaScript,您可以重构整个HTML文档。您可以添加、移除、改变或重排页面上的项目。 要改变页面的某个东西,JavaScript 就需要获得对 HTML 文档中所有元素进行访问的入口。这个入口,连同对 HTML 元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)。 DOM 被分为不同的部分(核心、XML及HTML)和级别(DOM Level 1/2/3) DOM 可被 JavaScript 用来读取、改变 HTML、XHTML 以及 XML 文档。 ?Core DOM 定义了一套标准的针对任何结构化文档的对象 ?XML DOM定义了一套标准的针对XML 文档的对象 ?HTML DOM定义了一套标准的针对HTML 文档的对象 2 DOM节点 节点 根据 DOM,HTML 文档中的每个成分都是一个节点。

DOM 是这样规定的: ?整个文档是一个文档节点 ?每个HTML 标签是一个元素节点 ?包含在HTML 元素中的文本是文本节点 ?每一个HTML 属性是一个属性节点 ?注释属于注释节点 Node层次 节点彼此都有等级关系。 HTML 文档中的所有节点组成了一个文档树(或节点树)。HTML 文档中的每个元素、属性、文本等都代表着树中的一个节点。树起始于文档节点,并由此继续伸出枝条,直到处于这棵树最低级别的所有文本节点为止。 下面这个图片表示一个文档树(节点树): 3 DOM节点树 文档树(节点数)

前端面试中常见Vue知识点整理

看看面试题,只是为了查漏补缺,看看自己那些方面还不懂。切记不要以为背了面试题,就万事大吉了,最好是理解背后的原理,这样面试的时候才能侃侃而谈。 不然,稍微有水平的面试官一看就能看出,是否有真才实学还是刚好背中了这道面试题。 一、对于MVVM的理解? MVVM 是Model-View-ViewModel 的缩写。 ?Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。 ?View代表UI 组件,它负责将数据模型转化成UI 展现出来。 ?ViewModel监听模型数据的改变和控制视图行为、处理用户交互,简单理解就是一个同步View 和Model的对象,连接Model和View。 在MVVM架构下,View 和Model 之间并没有直接的联系,而是通过ViewModel 进行交互,Model 和ViewModel 之间的交互是双向的,因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上。 ViewModel通过双向数据绑定把View 层和Model 层连接了起来,而View 和Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作DOM,不需要关注数据状态的同步问题,复杂的数据状态维护完全由MVVM 来统一管理。 二、Vue的生命周期 beforeCreate(创建前),在数据观测和初始化事件还未开始 created(创建后),完成数据观测,属性和方法的运算,初始化事件,$el 属性还没有显示出来 beforeMount(载入前),在挂载开始之前被调用,相关的render函数首次被调用。实例已完成以下的配置:编译模板,把data里面的数据和模板生成html。 注意此时还没有挂载html到页面上。 mounted(载入后),在el 被新创建的vm.$el 替换,并挂载到实例上去之后调用。实例已完成以下的配置:用上面编译好的html内容替换el属性指向的DOM 对象。完成模板中的html渲染到html页面中。此过程中进行ajax交互。 beforeUpdate(更新前),在数据更新之前调用,发生在虚拟DOM重新渲染和打补丁之前。可以在该钩子中进一步地更改状态,不会触发附加的重渲染过程。

javascript_dom

什么是DOM? 通过JavaScript,您可以重构整个HTML文档。您可以添加、移除、改变或重排页面上的项目。 要改变页面的某个东西,JavaScript就需要对HTML文档中所有元素进行访问的入口。这个入口,连同对HTML元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)。 在1998年,W3C发布了第一级的DOM规范。这个规范允许访问和操作HTML页面中的每一个单独的元素。 所有的浏览器都执行了这个标准,因此,DOM的兼容性问题也几乎难觅踪影了。 DOM可被JavaScript用来读取、改变HTML、XHTML以及XML文档。 DOM被分为不同的部分(核心、XML及HTML)和级别(DOM Level 1/2/3): Core DOM 定义了一套标准的针对任何结构化文档的对象 XML DOM 定义了一套标准的针对XML文档的对象 HTML DOM 定义了一套标准的针对HTML文档的对象。 HTML DOM 节点 HTML文档中的每个成分都是一个节点。 节点 根据DOM,HTML文档中的每个成分都是一个节点。 DOM是这样规定的: ?整个文档是一个文档节点 ?每个HTML标签是一个元素节点 ?包含在HTML元素中的文本是文本节点 ?每一个HTML属性是一个属性节点

注释属于注释节点 Node 层次 节点彼此都有等级关系。 HTML文档中的所有节点组成了一个文档树(或节点树)。HTML文档中的每个元素、属性、文本等都代表着树中的一个节点。树起始于文档节点,并由此继续伸出枝条,直到处于这棵树最低级别的所有文本节点为止。 文档树(节点数) 请看下面这个HTML文档: DOM Tutorial

DOM Lesson one

Hello world! 上面所有的节点彼此间都存在关系。 除文档节点之外的每个节点都有父节点。举例, 和的父节点是节点,文本节点"Hello world!"的父节点是节点。 大部分元素节点都有子节点。比方说,节点有一个子节点:节点。<title>节点也有一个子节点:文本节点"DOM Tutorial"。 当节点分享同一个父节点时,它们就是同辈(同级节点)。比方说,<h1>和是同辈,因为它们的父节点均是<body>节点。 节点也可以拥有后代,后代指某个节点的所有子节点,或者这些子节点的子节点,以此类推。比方说,所有的文本节点都是<html>节点的后代,而第一个文本节点是<head>节点的后代。 节点也可以拥有先辈。先辈是某个节点的父节点,或者父节点的父节点,以此类推。比方说,所有的文本节点都可把<html>节点作为先辈节点。</p><h2>HTML鼠标事件</h2><p>HTML鼠标事件 ------------------------------------------------------------------------------- onblur 事件:当鼠标失去焦点后执行 https://www.doczj.com/doc/f917644353.html,/htmldom/event_onblur.asp https://www.doczj.com/doc/f917644353.html,/question/60621120.html onblur 事件会在对象失去焦点时发生 例如:我们将在用户离开输入框时执行 JavaScript 代码: ------------------------------------------------------------------------------- onclick 事件:单击鼠标左键后执行 https://www.doczj.com/doc/f917644353.html,/htmldom/event_onclick.asp ------------------------------------------------------------------------------- ondblclick 事件:双击鼠标左键后执行 https://www.doczj.com/doc/f917644353.html,/htmldom/event_ondblclick.asp ------------------------------------------------------------------------------- onfocus 事件:事件在对象获得焦点时发生。 https://www.doczj.com/doc/f917644353.html,/htmldom/event_onfocus.asp ------------------------------------------------------------------------------- onkeydown 事件:事件会在用户按下一个键盘按键时发生。 https://www.doczj.com/doc/f917644353.html,/htmldom/event_onkeydown.asp ------------------------------------------------------------------------------- onkeypress 事件:onkeypress 事件会在键盘按键被按下并释放一个键时发生。https://www.doczj.com/doc/f917644353.html,/htmldom/event_onkeypress.asp ------------------------------------------------------------------------------- onKeyUp 事件:事件会在键盘按键被松开时发生。 https://www.doczj.com/doc/f917644353.html,/htmldom/event_onkeyup.asp <input type="text" onkeyup="alert(this.value)"/> 敲入一个a弹出一个a <input type="text" onkeypress="alert(this.value)"/> 敲入一个a弹出一个空。再敲入一个s弹出一个a 。再敲入一个s弹出一个sa ------------------------------------------------------------------------------- onmousedown 事件:事件会在鼠标按键被按下时发生。 https://www.doczj.com/doc/f917644353.html,/htmldom/event_onmousedown.asp</p><h2>事件机制</h2><p>事件机制 1.什么是事件? a)在文档中,可以被识别的控件的操作就是事件。鼠标的点击, 单击双击。。鼠标经过移出,键盘按下等。。。 2.事件流? a)在文档中事件执行的顺序就是事件流。 微软公司提出事件的流程应该为冒泡流。 网景公司提出事件的流程应该为捕获流。 W3C为了平衡事件流机制,制订了标准的事件流。 第一阶段:事件流的捕获阶段</p><p>第二阶段:处于事件阶段 第三阶段:事件流的冒泡阶段 关于浏览器的问题: 关于标准的事件流,并不是所有的浏览器都能够很好的支持。 能支持标准时间流的浏览器为:IE9+、chrome、firefox、safari、opera,低版本IE678等只支持冒泡流 毋须担心,因为大部分常用事件都是处于冒泡流。 如何添加或者注册事件以及事件的取消: DOM0阶段(无标准阶段) 注册事件 方法1:在HTML中使用事件相关属性 例如:<div onclick=”action()”> 方法2:在JS的元素节点中使用和事件同名的属性添加 例如:元素节点.onlick=action; 注意:方法2中的action是一个函数,可以是声明函数也可以是一个匿名函数 取消事件 在添加事件的方法2基础上进行重新赋值即可 元素节点.onclick=null;</p><p>该方法对于使用DOM0的2中事件添加方法都可以取消。DOM2阶段 注册事件 IE浏览器 attachEvent()方法 格式:元素节点.attachEvent(事件名,事件的执行方法); 参数1:书写时必须是字符串,而且必须有on 参数2:执行事件的方法,要求如果需要删除的情况下必须写声明函数,只有确认不需要删除的情况下才可以使 用匿名函数。推荐使用声明函数 非IE浏览器 addEventListener() 格式:元素节点.addEventListener(‘事件名’,事件的执行方法,处于事件流的阶段); 参数1:书写必须是字符串,而且不能有on 参数2:执行事件的方法,要求如果需要删除的情况下必须写声明函数,只有确认不需要删除的情况下才可以使 用匿名函数。推荐使用声明函数 参数3:设置事件发生的阶段,true捕获阶段false冒泡阶段,默认是false(推荐false) 取消事件</p><h2>DOM获取节点的三种常用方法</h2><p>Dom对象的常用方法: (1)getElementById() 查询给定ID属性值的元素,返回该元素的元素节点 1、查询给定ID属性值的元素,返回该元素的元素节点。也称为元素对象。 2、因为在一个html页面中id的值是唯一的,所以返回值也是唯一的。所以方法的名称为getElementById()而不是getElementsById() 3、该方法只能用于document对象,类似与java的static关键字。 (2)getElementsByName()查找给定name属性的所有元素,这个方法将返回一个节点集合,也可以称为对象集合 1、查找给定name属性的所有元素,这个方法将返回一个节点集合,也可以称为对象集合。 2、这个集合可以作为数组来对待,length属性的值表示集合的个数。 3、因为在html页面中,name不能唯一确定一个元素,所以方法的名称为getElementsByName而不是getElementByName (3)getElementsByTagName()查询给定标签名的所有元素 1、查询给定标签名的所有元素 2、因为在html页面中,标签名不是唯一的,所以返回值为节点的集合。 3、这个集合可以当做数组来处理,length属性为集合里所有元素的个数 4、可以有两种形式来执行这个方法: 1、var elements =document.getElementsByTagName(tagName); 2、var elements = element.getElementsByTagName(tagName); 5、从这两种方法可以看出持有这个方法的对象并不一定是整个文档对象(document).也可以是某一个元素节点。 (4)hasChildNodes()该方法用来判断一个元素是否有子节点,返回值为true或者false 1、该方法用来判断一个元素是否有子节点 2、返回值为true或者false 3、文本节点和属性节点不可能再包含子节点,所以对于这两类节点使用ChildNodes()方法返回值永远为false. 4、如果hasChildNodes()返回值为false,则childNodes,firstChild,lastChild 将为空数组或者空字符串。 (5)nodeName 1.如果节点是元素节点,nodeName返回元素的名称 2.如果给定节点为属性节点,nodeName返回属性的名称 3.如果给定节点为文本节点,nodeName返回为#text的字符串 (6)nodeType 1、元素节点类型值为1 2、属性节点类型值为2</p><h2>XML DOM</h2><p>第六教案 课题:文档对象模型DOM 目的要求: ?理解DOM模型 ?解析XML文档,生成文档对象 ?操纵DOM模型的对象、接口、属性、方法、事件 重点难点: ?重点:使用DOM API提供的对象和接口对XML进行操作,主 要包括查询、添加、修改、删除接点等操作 ?难点:如何使用API 教学过程: 如图。 作业布置:</p><p>一、文档对象模型(DOM)概述 下面,我们将说明如何通过程序访问XML文档。其中一种方法是通过文档对象模型(Document Object Model,DOM)。在本章中,我们将介绍文档对象模型,并借助几个程序实例解释它的功能。 1.1什么是文档对象模型(DOM)? 文档对象模型一词在Web浏览器领域并不陌生。窗口、文档和历史等对象都被认为是浏览器对象模型的一部分。然而,任何做过Web开发的人都知道各种浏览器实现这些对象的方式不尽相同。对于如何通过Web访问和操作文档结构这个问题,为了创建更加标准化的方法,W3C提出了目前的W3C DOM规范。 W3C DOM是一种独立于语言和平台的定义,即:它定义了构成DOM的不同对象的定义,却没有提供特定的实现,实际上,它能够用任何编程语言实现。例如,为了通过DOM访问传统的数据存储,可以将DOM实现为传统数据访问功能之外的一层包装。利用DOM中的对象,开发人员可以对文档进行读取、搜索、修改、添加和删除等操作。DOM为文档导航以及操作HTML和XML文档的内容和结构提供了标准函数。 1.2常见的文档模型 常见的文档模型有三类: 线性模型、树型模型、对象模型。 DOM模型是对象模型。 1.3DOM的工作原理及DOM模型结构 当使用DOM对XML文本文件进行操作时,它首先要解析文件,将文件分解为</p><h2>DOM介绍</h2><p>DOM介绍 DOM是Document Object Model的缩写,即文档对象模型,是W3C组件推荐的处理XML的标准接口,定义了所有文档元素的对象和属性,以及访问它们的方法(接口)。W3C文档对象模型(DOM)定义了访问诸如XML和XHTML文档的标准,是一个使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式的平台和语言中立的接口。 W3C DOM被分为3个不同的部分: ●核心DOM 用于任何结构化文档的标准模型 ●XML DOM 用于XML文档的标准模型 ●HTML DOM 用于HTML文档的标准模型 XML DOM定义了访问和处理XML文档的标准方法。XML DOM是XML D ocument Object Model的缩写,即XML文档对象模型,是用于获取、更改、添加或删除XML元素的标准。HTML DOM定义了所有HTML元素的对象和属性,以及访问它们的方法(接口)。 W3C文件对象模型(DOM)可以看作是一个平台或语言中立的(language-neu tral)界面,它允许程序和脚本动态的访问以及更新文档的内容、结构、脚本程序。在这里DOM仅仅只是一种对某种功能和结构的声明,告诉别的对象,具有什么样的概念定义。简单来看,DOM可以看作是一组API(Application Program Interface 即应用程序接口),它把HTML文档,XML文档等看成一个文档对象,在里面存放的是对这些文档操作的属性和方法的定义。DOM技术并不是首先用于XML文档,对于HTML文档来说,早就可以使用DOM来读取里面的数据了。 W3C DOM提供了一组描述HTML及XML文件的标准对象和一个用来访问和操作这类文件的标准界面。若以面向对象的思维来看,我们可以把HTML文档或X ML文档看成是一个对象,一个XML文档对象可以包含其它的对象,如节点对象。对XML文档对象的操作实际是对该对象的节点对象的操作,可以对对象进行修改等操作。在DOM中有相应的对象对应我们的实际上的XML文档的对象,那么也可以这样理解DOM,在DOM规范中提供了一组对象对文档结构的访问。 DOM是独立于程序设计语言的,W3C组织以IDL(Interface Definition Langua ge,接口定义语言)的形式定义了DOM中的接口。某种程序语言要实现DOM,需要将DOM接口转换为本语言中的适当结构,为了保证不同语言的不同的DOM之间实现广泛的兼容,W3C组织在DOM规范的附录部分提供了Java和ECMAScript 两种语言的绑定。在特定语言中使用DOM规范就需要定义DOM规范指定的接口,并给出实现这些接口的类的集合,这一过程称作语言绑定。本章讲述DOM规范的Java语言绑定。Java语言通过把DOM规范中的接口用Java的接口写下来,并给出实现这些接口的类集合来实现DOM规范的Java语言绑定。当然了,我们还可以使</p><h2>HTML DOM树的结构和访问</h2><p>一:概念 DOM是一种与平台和语言无关的接口,它允许程序和脚本动态访问和修改文档的内容、结构和类型。它定义了一系列的对象和方法对Html DOM树的节点进行各种随机操作。 二:Html DOM树 DOM(DocumentObjectModel)解析器将XML文档一次性解析,生成一个位于内存中的对象树用以描述该文档。 ◆Document对象:作为树的最高节点,Document对象是对整个文档进行操作的入口。 ◆Element和Attr对象:这些节点对象都是文档某一部分的映射,节点的定级层次恰好反映了文档的结构。 ◆Text对象:作为Element和Attr对象的子节点,Text对象表达了元素或属性的文本内容。Text节点不再包含任何子节点。 ◆集合索引:DOM提供了几种集合索引方式,可以对节点按指定方式进行遍历。索引参数都是从0开始记数的。 Html DOM树中的所有节点都是从Node对象继承而来的。Node对象定义了一些最基本的属性和方法,利用这些方法可以实现对树的遍历,同时,根据属性还可以得知节点的名称、取值并判断其类型。 利用DOM,开发人员可以动态地创建XML、遍历文档、增加/删除/修改文档内容。DOM 提供的API与编程语言无关,所以对一些DOM标准中没有明确定义的接口,不同解析器的实现方法也可能有所差别。 三:Html DOM树的结构 加载文档大体上分为三步: 1.使用CreateObject方法创建分析器实例; 2.设置async属性为False,禁止异步加载,这样当文档加载完毕,控制权才会返回给调用进程,如果想获取文档加载状态,可以读取readyState属性值; 3.使用load方法加载指定文档。 XMLDOM还提供了一种loadXML的方法可以把XML字符串加载到Html DOM树中,使用时只要把XML字符串直接作为该方法的参数即可。</p><h2>锋利的jquery</h2><p>第1章 1.简述jQuery的实质及其优势。jQuery是一个轻量级javascript库 轻量级(Lightweight),强大的选择器,出色的DOM操作封装,可靠的事件处理机制,完善的Ajax ,出色的浏览器兼容性,不污染顶级变量,链式操作方式,隐式迭代,行为层与结构层分离,丰富的插件支持,完善的文档,开源 2.写jQuery程序前需要做什么准备工作?jQuery的压缩版的非压缩版分别适用于什么场合? 完整,无压缩版,可供学习、开发。压缩后的版本,主要用于项目的发布。 3.简述$(document).ready()与window.onload的相同点和不同点。 在DOM中,浏览器加载文档完毕,会发生onload事件。 $(document).ready(function(){ }) 相当于window.onload事件,但有区别: (1)执行时机: window.onload 是在网页中所有元素(包括元素的所有关联文件)完全加载后才执行。 $(document).ready() 是在DOM完全就绪时就可以被调用,并不意味着这些元素关系的文件都已经下载完毕。 (2)多次使用: $(document).ready()事件可以在同一个页面注册多个 (3)简写方式:可以缩写成 $(function(){ }) 或$().ready(function(){ })</p><p>4.什么是jQuery对象和DOM对象?二者如何转换? 将DOM对象转换为JQuery对象的方法:$(DOM对象); 将JQuery对象转换为DOM对象的方法:var domobj = jqobj[0]或者var domobj=jqobj.get(0) 第2章 1.jQuery中的选择器分为哪几类?其中过滤选择器分为哪几小类? 2.写出每个层次选择器的符号及其含义。 1.$(“ancestor descendant”):选取祖先元素中所有的后代元素: $("body div"):选取body元素下所有的div元素 2.$(“parent > child”):选取父元素下的子元素。 $(“body > div”):选取body元素下所有的div子元素 3. $(“prev + next”):匹配紧接在prev 元素后的next 元素 $("#div_b1 span + input").css("background-color","red"); 4. $(“prev ~ siblings”):匹配prev 元素之后的所有兄弟元素 $("#div_c1 span ~ input").css("background-color","red");</p><h2>JSP DOM介绍</h2><p>JSP DOM介绍 DOM是Document Object Model的缩写,即文档对象模型,是W3C组件推荐的处理XML的标准接口,定义了所有文档元素的对象和属性,以及访问它们的方法(接口)。W3C文档对象模型(DOM)定义了访问诸如XML和XHTML文档的标准,是一个使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式的平台和语言中立的接口。 W3C DOM被分为3个不同的部分: ●核心DOM 用于任何结构化文档的标准模型。 ●XML DOM 用于XML文档的标准模型。 ●HTML DOM 用于HTML文档的标准模型。 XML DOM定义了访问和处理XML文档的标准方法。XML DOM是XML D ocument Object Model的缩写,即XML文档对象模型,是用于获取、更改、添加或删除XML元素的标准。HTML DOM定义所有HTML元素的对象和属性,以及访问它们的方法(接口)。 W3C文件对象模型(DOM)可以看作是一个平台或语言中立的(language-neu tral)界面,它允许程序和脚本动态的访问以及更新文档的内容、结构、脚本程序。在这里DOM仅仅只是一种对某种功能和结构的声明,告诉别的对象,具有什么样的概念定义。简单来看,DOM可以看作是一组API(Application Program Interface 即应用程序接口),它把HTML文档,XML文档等看成一个文档对象,在里面存放的是对这些文档操作的属性和方法的定义。DOM技术并不是首先用于XML文档,对于HTML文档来说,早就可以使用DOM来读取里面的数据了。 W3C DOM提供了一组描述HTML及XML文件的标准对象和一个用来访问和操作这类文件的标准界面。若以面向对象的思维来看,可以把HTML文档或XML 文档看成是一个对象,一个XML文档对象可以包含其它的对象,如节点对象。对XML文档对象的操作实际是对该对象的节点对象的操作,可以对对象进行修改等操作。在DOM中有相应的对象对应实际的XML文档的对象,那么也可以这样理解DOM,在DOM规范中提供了一组对象对文档结构的访问。 DOM独立于程序设计语言,W3C组织以IDL(Interface Definition Language,接口定义语言)的形式定义了DOM中的接口。某种程序语言要实现DOM,需要将DOM接口转换为本语言中的适当结构,为了保证不同语言的不同的DOM之间实现广泛的兼容,W3C组织在DOM规范的附录部分提供了Java和ECMAScript两种语言的绑定。在特定语言中使用DOM规范就需要定义DOM规范指定的接口,并给出实现这些接口的类的集合,这一过程称作语言绑定。本章讲述DOM规范的Java 语言绑定。Java语言通过把DOM规范中的接口用Java的接口写下来,并给出实现这些接口的类集合来实现DOM规范的Java语言绑定。当然了,我们还可以使用C</p><h2>javascript100道试题</h2><p>移动增值业务wmlscript 一、填空题。 1、扩展名是________的文件是java的源码文件。 2、Java脚本是________端的语言。 3、Java脚本中输出语句是______。 4、Java脚本中document.write的功能是______。 5、Javascript中,document.bgColor的功能是______ 。 6、Window.open()的功能是________。 7、Javascript常用的三种鼠标事件有______、______、______。 8、window._______方法是关闭网页文档的。 1、9、<script _______=*.js>…</script>。 10、保存为Html文件语言是_______端语言。 11、html文件中h的意思是___________.。 12、CSS的中文全称是__________________________。 13、<________ language=”javascript”>document.write(“大家好哦!”);</script>。 14、http我们称之为_____________.。 15、http协议的缺省端口是____________。 16、单选框标记是___________________________。 17、文本框标记是__________________________。 18、javascript的标签标记是__________________。 19、表格中td标记之间必须要有_________,否则表格不能正常显示。 20、onmouseout事件是________。 21、onmouseover事件是___________。 22、onblue事件是_________________。 23、function单词的意思是____________。 14、var x;语句的功能是_________________。 25、变量b和B变量是_____________。 二、单选题。 01.()下列是javascript原文件扩展名是: A. HTML B.BODY C. js D. DIV</p><h2>js和DOM的区别</h2><p>JavaScript和HTML DOM的区别与联系区别: javascript JavaScript 是因特网上最流行的浏览器脚本语言。很容易使用!你一定会喜欢它的! JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。 HTML DOM HTML DOM 是 W3C 标准(是 HTML 文档对象模型的英文缩写,Document Object Model for HTML)。 HTML DOM 定义了用于 HTML 的一系列标准的对象,以及访问和处理 HTML 文档的标准方法。 通过 DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性。可以对其中的内容进行修改和删除,同时也可以创建新的元素。 HTML DOM 独立于平台和编程语言。它可被任何编程语言诸如 Java、JavaScript 和 VBScript 使用。 联系: 通过 JavaScript,您可以重构整个 HTML 文档。您可以添加、移除、改变或重排页面上的项目。 要改变页面的某个东西,JavaScript 就需要获得对 HTML 文档中所有元素进行访问的入口。这个入口,连同对 HTML 元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)。 Javascript主要是利用HTML DOM去获得、改变、创建HTML元素,从而达到美化页面、操作页面元素的目标。因此,在Javascript中最常见的就是各种各样的HTML DOM元素以及它们各自的属性。除了这些DOM元素外,Javascript有自己的对象,例如数组。 简单说,可以认为Javascript主要是操纵HTML DOM。两者是不一样的。Javascript是语言,DOM是可以在各种语言中(不仅js,php也有的)动态修改文档的模型。 下面单独拉出JavaScript与DOM的关系给大家详解</p><h2>Javascript综合复习题大全及答案</h2><p>J a v a s c r i p t综合复习题【共116题】 每份考卷中javascript只占一半。题型和分数如下: 1.单选题:10题*1分 = 10分 2.填空题:5题*1分 = 5分 3.程序阅读题:2题*4分 = 8分 4.程序实现题:2题*5分 = 10分 5.简答题:3题*5分 = 15分 合计:48分,共22题。 剩余52分,23题是另一门课程。 【提示:本综合复习题的目的是让同学们多见识各种题目。选择题、填空题以及程序阅读题可以仔细做,对于程序实现和简答题建议先理解再记忆,切记死背答案。】 第一部分:单选题 1.Javascript中, 以下哪条语句一定会产生运行错误?答案( B ) A、var _变量=NaN; B、var 0bj = []; C、var obj = string B. length C.非法字符 2.下面哪个描述不正确( B ) A. NaN!=null ==NaN C.{}!=false !=false 3.var arr = new Array(new Array(9,0,3,4,5) , ['a' , 'b' , 'c'] , new Array(2,9,0,6));则arr[1][3]=( D ) B.6 4.有如下代码: var arr = new Array(9); arr[0]=1; arr[2]=2; 该数组的length属性值为( D ) A、2 B、10 C、8 D、9 5.有一个submit按钮,在这个按钮控件上添加哪个事件不起作用?( D ) D. onsubmit 6.有一个变量var a=typeof string + 100+50 + NaN,以下哪个是alert(a)的结果? ( C ) B. function10050NaN C. undefined10050NaN D. NaN 7.以下代码,哪个结果是正确的?( A ) var str='123abc'; str += ('abc' , ''); alert(str);</p><h2>html对象属性大全</h2><p><! - - ... - -> 批注 <marquee>...</marquee>普通卷动 <marquee behavior=slide>...</marquee>滑动 <marquee behavior=scroll>...</marquee>预设卷动 <marquee behavior=alternate>...</marquee>来回卷动 <marquee direction=down>...</marquee>向下卷动 <marquee direction=up>...</marquee>向上卷动 <marquee direction=right></marquee>向右卷动 <marquee direction=left></marquee>向左卷动 <marquee loop=2>...</marquee>卷动次数 <marquee width=180>...</marquee>设定宽度 <marquee height=30>...</marquee>设定高度 <marquee bgcolor=FF0000>...</marquee>设定背景颜色 <marquee scrollamount=30>...</marquee>设定卷动距离 <marquee scrolldelay=300>...</marquee>设定卷动时间 <!>字体效果 <h1>...</h1>标题字(最大) <h6>...</h6>标题字(最小) <b>...</b>粗体字 <strong>...</strong>粗体字(强调) <i>...</i>斜体字 <em>...</em>斜体字(强调) <dfn>...</dfn>斜体字(表示定义) <u>...</u>底线 <ins>...</ins>底线(表示插入文字) <strike>...</strike>横线 <s>...</s>删除线 <del>...</del>删除线(表示删除) <kbd>...</kbd>键盘文字 <tt>...</tt> 打字体 <xmp>...</xmp>固定宽度字体(在文件中空白、换行、定位功能有效) <plaintext>...</plaintext>固定宽度字体(不执行标记符号) <listing>...</listing> 固定宽度小字体 <font color=00ff00>...</font>字体颜色 <font size=1>...</font>最小字体 <font style =font-size:100 px>...</font>无限增大 <!>区断标记 <hr>水平线 <hr size=9>水平线(设定大小) <hr width=80%>水平线(设定宽度) <hr color=ff0000>水平线(设定颜色) <br>(换行) <nobr>...</nobr>水域(不换行)</p> <div> <div>相关主题</div> <div class="relatedtopic"> <div id="tabs-section" class="tabs"> <ul class="tab-head"> <li id="14075065"><a href="/topic/14075065/" target="_blank">dom事件</a></li> <li id="10316834"><a href="/topic/10316834/" target="_blank">dom对象</a></li> </ul> </div> </div> </div> <div class="container"> <div>文本预览</div> <div class="textcontent"> </div> </div> </div> <div class="category"> <span class="navname">相关文档</span> <ul class="lista"> <li><a href="/doc/fe15451974.html" target="_blank">80、90后律师,35岁就步入高危年龄! laKingdom</a></li> <li><a href="/doc/197140512.html" target="_blank">前端面试中常见Vue知识点整理</a></li> <li><a href="/doc/608907979.html" target="_blank">无监督的互联网事件抽取框架</a></li> <li><a href="/doc/8016565686.html" target="_blank">亚当javascript教程整合</a></li> <li><a href="/doc/c09468097.html" target="_blank">Jquery中的事件</a></li> <li><a href="/doc/3e6184586.html" target="_blank">父子组件事件通信</a></li> <li><a href="/doc/7c2003782.html" target="_blank">Javascript综合复习题大全及答案</a></li> <li><a href="/doc/9114958446.html" target="_blank">JavaScript事件</a></li> <li><a href="/doc/f112402296.html" target="_blank">Javascript(JS)键盘事件监听</a></li> <li><a href="/doc/0616621708.html" target="_blank">基于Actionscript 3.0碰撞检测类Flash游戏设计</a></li> <li><a href="/doc/6e823834.html" target="_blank">10.HTML_DOM和综合实例</a></li> <li><a href="/doc/806958385.html" target="_blank">HTML 实验7:DOM2事件处理</a></li> <li><a href="/doc/c38911089.html" target="_blank">JQuery中的DOM操作-实训报告</a></li> <li><a href="/doc/f018713831.html" target="_blank">今日头条APP案例开发</a></li> <li><a href="/doc/325167586.html" target="_blank">事件机制</a></li> <li><a href="/doc/6c17099297.html" target="_blank">javascript100道试题</a></li> <li><a href="/doc/984291668.html" target="_blank">第7章 DOM编程</a></li> <li><a href="/doc/f43798258.html" target="_blank">第8章 jQuery操作DOM(上机操作步骤)</a></li> <li><a href="/doc/058855129.html" target="_blank">4:JavaScriptjavaDOM</a></li> <li><a href="/doc/4c3868951.html" target="_blank">DOM解析器</a></li> </ul> <span class="navname">最新文档</span> <ul class="lista"> <li><a href="/doc/0619509601.html" target="_blank">幼儿园小班科学《小动物过冬》PPT课件教案</a></li> <li><a href="/doc/0a19509602.html" target="_blank">2021年春新青岛版(五四制)科学四年级下册 20.《露和霜》教学课件</a></li> <li><a href="/doc/9619184372.html" target="_blank">自然教育课件</a></li> <li><a href="/doc/3319258759.html" target="_blank">小学语文优质课火烧云教材分析及课件</a></li> <li><a href="/doc/d719211938.html" target="_blank">(超详)高中语文知识点归纳汇总</a></li> <li><a href="/doc/a519240639.html" target="_blank">高中语文基础知识点总结(5篇)</a></li> <li><a href="/doc/9019184371.html" target="_blank">高中语文基础知识点总结(最新)</a></li> <li><a href="/doc/8819195909.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/8319195910.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/7b19336998.html" target="_blank">高中语文基础知识点总结大全</a></li> <li><a href="/doc/7019336999.html" target="_blank">超详细的高中语文知识点归纳</a></li> <li><a href="/doc/6819035160.html" target="_blank">高考语文知识点总结高中</a></li> <li><a href="/doc/6819035161.html" target="_blank">高中语文知识点总结归纳</a></li> <li><a href="/doc/4219232289.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/3b19258758.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/2a19396978.html" target="_blank">高中语文知识点归纳(大全)</a></li> <li><a href="/doc/2c19396979.html" target="_blank">高中语文知识点总结归纳(汇总8篇)</a></li> <li><a href="/doc/1619338136.html" target="_blank">高中语文基础知识点整理</a></li> <li><a href="/doc/e619066069.html" target="_blank">化工厂应急预案</a></li> <li><a href="/doc/b019159069.html" target="_blank">化工消防应急预案(精选8篇)</a></li> </ul> </div> </div> <script> var sdocid = "feafe986b9d528ea81c779e3"; </script> <script type="text/javascript">bdtj();</script> <footer class="footer"> <p><a href="/tousu.html" target="_blank">侵权投诉</a> © 2022 www.doczj.com <a href="/sitemap.html">网站地图</a></p> <p> <a href="https://beian.miit.gov.cn" target="_blank">闽ICP备18022250号-1</a>  本站资源均为网友上传分享,本站仅负责分类整理,如有任何问题可通过上方投诉通道反馈 <script type="text/javascript">foot();</script> </p> </footer> </body> </html>