`
wangtao0501
  • 浏览: 56640 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ajax学习(2)---DOM进行Web响应

    博客分类:
  • Ajax
阅读更多
1. 简单 HTML 页面

<html>
            <head>
            <title>Trees, trees, everywhere</title>
            </head>
            <body>
            <h1>Trees, trees, everywhere</h1>
            <p>Welcome to a <em>really</em> boring page.</p>
            <div>
            Come again soon.
            <img src="come-again.gif" />
            </div>
            </body>
            </html>
           

1 的树视图
清单 1 的树视图

对象的值

既然了解了一些基本的术语,现在应该关注一下其中包含元素名称和文本的小矩形了(图 1)。每个矩形是一个对象;浏览器在其中解决一些文本问题。通过使用对象来表示 HTML 文档的每一部分,可以很容易地更改组织、应用样式、允许 JavaScript 访问文档,等等。

对象类型和属性

标记的每个可能类型都有自己的对象类型。例如,HTML 中的元素用 Element 对象类型表示。文档中的文本用 Text 类型表示,属性用 Attribute 类型表示,以此类推。

所以 Web 浏览器不仅可以使用对象模型来表示文档(从而避免了处理静态文本),还可以用对象类型立即辨别出某事物是什么。HTML 文档被解析并转换为对象集合,如 图 1 所示,然后尖括号和转义序列(例如,使用 < 表示 <,使用 > 表示 >)等事物不再是问题了。这就使得浏览器的工作(至少在解析输入 HTML 之后)变得更容易。弄清某事物究竟是元素还是属性并确定如何处理该类型的对象,这些操作都十分简单了。

通过使用对象,Web 浏览器可以更改这些对象的属性。例如,每个元素对象具有一个父元素和一系列子元素。所以添加新的子元素或文本只需要向元素的子元素列表中添加一个新的子元素。这些对象还具有 style 属性,所以快速更改元素或文本段的样式非常简单。例如,要使用 JavaScript 更改 div 的高度,如下所示:

someDiv.style.height = "300px";
           


换句话说,Web 浏览器使用对象属性可以非常容易地更改树的外观和结构。将之比作浏览器在内部将页面表示为文本时必须进行的复杂事情,每次更改属性或结构都需要浏览器重新编写静态文件、重新解析并在屏幕上重新显示。有了对象,所有这一切都解决了。

DOM 简介

到目前为止,您已经知道浏览器将 Web 页面转换为对象表示,可能您甚至会猜想,对象表示是 DOM 树。DOM 表示 Document Object Model,是一个规范,可从 World Wide Web Consortium (W3C) 获得(您可以参阅 参考资料 中的一些 DOM 相关链接)。

但更重要的是,DOM 定义了对象的类型和属性,从而允许浏览器表示标记。(本系列下一篇文章将专门讲述在 JavaScript 和 Ajax 代码中使用 DOM 的规范。)

文档对象

首先,需要访问对象模型本身。这非常容易;要在运行于 Web 页面上的任何 JavaScript 代码中使用内置 document 变量,可以编写如下代码:

var domTree = document;
           


当然,该代码本身没什么用,但它演示了每个 Web 浏览器使得 document 对象可用于 JavaScript 代码,并演示了对象表示标记的完整树(图 1)。

每项都是一个节点

显然,document 对象很重要,但这只是开始。在进一步深入之前,需要学习另一个术语:节点。您已经知道标记的每个部分都由一个对象表示,但它不只是一个任意的对象,它是特定类型的对象,一个 DOM 节点。更特定的类型,比如文本、元素和属性,都继承自这个基本的节点类型。所以可以有文本节点、元素节点和属性节点。

如果已经有很多 JavaScript 编程经验,那您可能已经在使用 DOM 代码了。如果到目前为止您一直在跟踪本 Ajax 系列,那么现在您一定 使用 DOM 代码有一段时间了。例如,代码行 var number = document.getElementById("phone").value; 使用 DOM 查找特定元素,然后检索该元素的值(在本例中是一个表单字段)。所以即使您没有意识到这一点,但您每次将 document 键入 JavaScript 代码时都会使用 DOM。

详细解释已经学过的术语,DOM 树是对象的树,但更具体地说,它是节点 对象的树。在 Ajax 应用程序中或任何其他 JavaScript 中,可以使用这些节点产生下列效果,比如移除元素及其内容,突出显示特定文本,或添加新图像元素。因为都发生在客户端(运行在 Web 浏览器中的代码),所以这些效果立即发生,而不与服务器通信。最终结果通常是应用程序感觉起来响应更快,因为当请求转向服务器时以及解释响应时,Web 页面上的内容更改不会出现长时间的停顿。

在多数编程语言中,需要学习每种节点类型的实际对象名称,学习可用的属性,并弄清楚类型和强制转换;但在 JavaScript 中这都不是必需的。您可以只创建一个变量,并为它分配您希望的对象(正如您已经看到的):

var domTree = document;
            var phoneNumberElement = document.getElementById("phone");
            var phoneNumber = phoneNumberElement.value;
           


没有类型,JavaScript 根据需要创建变量并为其分配正确的类型。这也是简单的JS获得DOM元素。
分享到:
评论

相关推荐

    掌握Ajax 学习资料pdf

    掌握 Ajax第 4 部分-利用 DOM 进行 Web 响应 掌握 Ajax第 5 部分-操纵 DOM 掌握 Ajax第 6 部分-建立基于 DOM 的 Web 应用程序 掌握 Ajax第 7 部分-在请求和响应中使用 XML 掌握 Ajax第 10 部分--使用 JSON 进行数据...

    掌握 Ajax\掌握 Ajax第 4 部分-利用 DOM 进行 Web 响应

    ### 掌握Ajax系列之四:利用DOM进行Web响应 #### 深入理解DOM:构建Web响应的核心 在探讨如何利用DOM(Document Object Model,文档对象模型)进行Web响应之前,我们首先需要理解DOM的基本概念及其在Web开发中的...

    Pushlet的Ajax-pushlet-client.js分析

    `_rsp2Events`通过对XML文档的DOM操作,提取出事件标签,实例化PushletEvent对象。`_onEvent`根据事件类型执行相应的处理,如Data事件调用用户自定义的onData方法,Refresh事件触发页面刷新,Error事件则调用onError...

    Ajax分页组件--web-java

    Ajax并非一种单一的技术,而是一组技术的集合,包括HTML、CSS、JavaScript、XML以及DOM等,通过它们协同工作,实现了在不刷新整个网页的情况下与服务器进行数据交换。在分页场景下,Ajax允许用户在浏览数据时只加载...

    Ajax完全自学手册-DOM基础及高级DOM技术(word版,附源码)

    4. **Ajax事件处理**: 在Ajax请求完成后,通常需要绑定事件来处理响应,例如更新DOM后可能需要触发某些交互效果。 本手册的Word版提供了20页详尽的实例和解析,无论你是初学者还是有一定经验的开发者,都能从中受益...

    ajax----简介

    综上所述,AJAX技术为Web开发带来了革命性的变化,不仅极大地提升了用户体验,也促进了Web技术的发展。然而,开发者在使用AJAX时也需要考虑到其局限性和潜在的问题,合理地利用这一技术来构建高质量的应用程序。

    Ajax调用SOAP-Web示例

    Ajax调用SOAP Web服务的难点在于构造和解析XML请求与响应。JavaScript中没有内置的XML处理库,因此通常需要使用DOM API或者jQuery等库来操作XML。例如,使用jQuery的$.ajax()函数可以简化这个过程。 在提供的压缩包...

    ajax4jsf-1.1.1.jar.zip

    3. **Ajax Renderer**: 负责将Ajax响应转换为DOM操作,更新页面上的相应部分。 4. **Pre-built UI Components**: 包含了预配置的JSF组件,如AjaxButton、AjaxInputText等,它们已经内置了Ajax功能。 5. **...

    WXHHDI01-AJAX-B1-GetStarted-CS

    综上所述,"WXHHDI01-AJAX-B1-GetStarted-CS"的学习资源将引导初学者理解AJAX的基本原理,掌握创建异步请求和处理响应的方法,从而实现在网页中无缝地加载和更新数据。通过实践这些知识,开发者能够提升网页的交互性...

    掌握Ajax系列4:利用DOM进行Web响应

    Document Object Model(DOM)是Web开发中的核心组件,它是一个标准的编程接口...通过熟练掌握DOM,程序员可以创造出更加动态、响应和用户友好的Web应用程序,从而打破传统的前后端界限,提升Web应用的性能和用户体验。

    掌握AJAX技术

    掌握AJAX 掌握Ajax--第1部分 Ajax简介 掌握Ajax--第2部分 使用JavaScript和Ajax发出异步请求 掌握Ajax--第3部分 Ajax中的高级请求和...掌握Ajax--第4部分 利用DOM进行Web响应 掌握Ajax--第10部分 使用JSON 进行数据传输

    ajax-demo-all.zip

    这个压缩包"ajax-demo-all.zip"很可能包含了多个用于展示Ajax技术的示例代码或者项目,帮助开发者理解和学习如何在实际应用中使用Ajax。 在Ajax的核心概念中,有以下几个关键知识点: 1. **异步通信**:Ajax的最大...

    HDI-AJAX-AddAjax-CS源码

    在Web开发中,AJAX(Asynchronous JavaScript and XML)技术被广泛使用,它允许我们在不刷新整个页面的情况下与服务器进行交互,提高了用户体验。"HDI-AJAX-AddAjax-CS"项目提供了一套使用C#编写的AJAX功能实现,...

    SD大会精品讲座:运用AJAX开发Web-2.0应用

    本篇讲座由Sun公司的Java技术推广经理李涛先生主讲,旨在详细介绍AJAX的基本概念、工作原理及其在Web 2.0中的应用,并对当前流行的AJAX工具箱和框架进行深入剖析。 #### 二、AJAX基础知识 **1. 什么是AJAX** AJAX...

    掌握 Ajax\掌握 Ajax第 5 部分-操纵 DOM

    在“掌握Ajax”系列的第五部分中,我们深入探讨了如何使用JavaScript操纵文档对象模型(DOM),以实现实时更新Web页面,而无需进行完整的页面重载。这一技术的核心在于理解和操作DOM树,即浏览器解析HTML和CSS后构建...

    疯狂Ajax源码 1-10章

    通过《疯狂Ajax源码 1-10章》的学习,你将能够熟练掌握Ajax技术,并将其应用于实际项目中,构建更加高效、响应式的Web应用。这份资料详细解析了Ajax的每一个环节,无论你是前端开发者还是对Web技术感兴趣的学者,都...

    Ajax-Portal-模块拖放

    Ajax 是一种Web开发技术,它通过在后台与服务器进行少量数据交换,实现了网页的部分更新,而不是刷新整个页面。这种方式提高了网页的响应速度和用户体验,使得用户在浏览网页时感觉更加流畅。 Portal 概念则通常指...

    AJAX & PHP - Building Responsive Web Applications.pdf

    通过这些组件,网页可以与服务器进行部分数据的交换,并通过DOM(文档对象模型)实现内容的动态更新,从而避免了传统Web应用中“提交-等待-刷新”的繁琐过程。 在服务器端,PHP作为一种广泛使用的服务器端脚本语言...

    Ajax--新手快车道.rar

    2. **JavaScript**:Ajax的实现主要依赖JavaScript,通过创建XMLHttpRequest对象来与服务器进行交互。 3. **XML与JSON**:尽管名称中有XML,但实际应用中,数据格式不仅限于XML,更常见的是使用JSON,因为JSON更轻量...

Global site tag (gtag.js) - Google Analytics