javascript和web开发:使用文档对象模型

本文将向您介绍JavaScript使用的文档框架。有了这个抽象文档对象模型的工作知识,您可以编写在任何网页上工作的JavaScript。...

本文将向您介绍JavaScript使用的文档框架。有了这个抽象文档对象模型的工作知识,您可以编写在任何网页上工作的JavaScript。

介绍

网页和JavaScript是如何协同工作的,它们是如何相互通信的?答案在于理解文档对象模型是如何工作的。

dom的目的

DOM组织web页面的内容,并为其提供路线图。模型由节点组成。节点被安排成一个层次结构,最好将其视为一个树结构。我们应该能够接受任何HTML并以这种方式表示它。

例如,此段落的文本是文档对象模型中的一个节点。段落是另一个节点,也是文本节点的父节点。文档本身最终是两者的父节点。

我们可以编写JavaScript,通过标识节点在网页上执行操作。因为每一部分内容都是一个节点,所以我们可以编写与我们想要更改的任何实体相关的JavaScript。您会注意到这与CSS的工作原理类似:它通过使用HTML元素的id和类属性将样式或视觉外观应用于内容,就像JavaScript控制行为一样。

需要注意的是,CSS和JavaScript不是在DOM中找到的,而是在DOM之外。它们都操纵DOM的内容,而不是驻留在DOM中。

重用代码

为什么网页的源代码是这样管理的?主要原因有两个:

  1. 将JavaScript存储在单独的文件中可以更容易地重用代码。当JavaScript以内联方式编写时,必须将其复制到与之关联的内容旁边,才能在其他地方使用相同的功能。
  2. 通过从内容(HTML)中删除网页(JavaScript)的功能,分离到外部文件的JavaScript使源代码更具可读性。

dom的节点

您创建和控制的节点仅限于HTML规范和浏览器支持的节点。这就是HTML5引入新的顶级元素非常重要的原因之一。

出于我们的目的,最重要的节点类型包括:

  • 元素
  • 属性
  • 正文

尽管该规范实际上总共列出了12个。

使用脚本在dom中创建节点

为了进行简单的演示,我们将使用JavaScript创建一个特定的元素。

在这里,我们将通过使用JS创建web最基本、最常见的web页面对象之一,即标题,向您展示JS的强大功能。

按照这个例子,创建一个完整的虚拟服务器是不值得的,所以使用一个在线沙盒。你会想要一个轻量级的游乐场来进行类似JSBin的实验。JSBin非常棒,因为它是多窗格的,并且包括一种可以同时查看和操作所有内容的方法:HTML、JS、CSS和网页预览。

(Codepen与此类似,并且为了本例的缘故,它也同样适用。)

JSBin还可以为JS草稿行动态创建URL,以便以后共享。这是我为这个例子生成的一个。

我复制并评论了以下片段,以在正文中生成一个新的H1标题:

  • HTML代码段
  • JavaScript Snippet //declare a new variable to hold a new h1 elementvar newHeading = document.createElement("h1");//add the text node to the documentvar h1Text = document.createTextNode("Heading Level 1");//make it a child node of the new headingnewHeading.appendChild(h1Text);//append this as a child of element defined as "bt"document.getElementById("bt").appendChild(newHeading);

它创建一个新的H1元素,其内容直接从属于开始标记。

请注意,左侧窗格中的源HTML没有更改。在本例中,该代码相当容易阅读。在高级Javascript中,事情会变得复杂得多。

关于javascript的词汇结构

上面的片段有一些解释。

  • varcreates a variable, which stores an arbitrary value for your code to use.
  • =is an assignment operator. Here it operates with the varterm and the new variable's name (e.g., newHeading) to form a complete declaration.
  • object.methodis an invocation that uses "dot" syntax to separate objects, like the document, from the methods being used in regard to them, as in getElementById.
    • 编程中的“对象”概念值得大量讨论,不在本文讨论范围之内。只需说它们是应用程序的重要组件。
    • 方法是您所期望的:可以应用于对象的特定过程或计划的操作。

我们为您提供了大量学习JavaScript的优秀资源。查看我们的编程部分了解更多信息。

下一步是什么

JQuery是使用JavaScript的最流行的框架之一。它是最新的富Web页和应用程序迭代的重要基础,它是您下一步想要开始的地方。

这篇文章是否帮助您了解了更多关于JavaScript的入门知识?你有不同的方法吗?我们希望在下面的评论中听到您的意见!

图片来源:Imagentle通过Shutterstock.com

Subscribe to our newsletter

Join our newsletter for tech tips, reviews, free ebooks, and exclusive deals!

Click here to subscribe

  • 发表于 2021-08-05 10:37
  • 阅读 ( 165 )
  • 分类:编程

你可能感兴趣的文章

javascript(javascript)和jquery公司(jquery)的区别

javascript(javascript)和jquery公司(jquery)的区别 互联网上有成千上万的网站。每天都有新网站被创建。每个商业组织都有一个网站来联系他们的客户。web应用程序开发中使用了多种技术。其中两个是JavaScript和jQuery。JavaScript是一种...

  • 发布于 2020-10-24 20:13
  • 阅读 ( 173 )

什么是javascript?它是如何工作的?

JavaScript已经成为现代web开发的主流。这种强大的语言已经发展成为任何web开发人员都能理解的基本工具。 ...

  • 发布于 2021-03-18 04:01
  • 阅读 ( 273 )

使用以下10个基本工具提升您的web开发技能

...发的在线社交开发环境。标准CodePen窗口只关注HTML、CSS和JavaScript的各种风格,是进行实验和分享想法的最佳场所。 ...

  • 发布于 2021-03-20 14:01
  • 阅读 ( 229 )

6个值得学习的javascript框架

JavaScript框架是可以用来自动化网站上的任务和改善一般用户体验(UX)的工具。它们还提供了更快速、更高效的网站开发方式,提供了高度可扩展和可定制的组件和模块,以适合您想要构建的任何应用程序。 ...

  • 发布于 2021-03-29 13:57
  • 阅读 ( 244 )

网站的英雄:理解dom

...们可以有兄弟姐妹。节点可以有子节点和子节点。当使用JavaScript和CSS与DOM交互时,用这些术语来思考会有很大帮助。 ...

  • 发布于 2021-03-30 05:25
  • 阅读 ( 255 )

javascript语言(javascript)和jquery查询(jquery)的区别

人们经常说这两种语言很有趣,虽然有些人会讨厌JavaScript,但许多人认为它创造了许多现代编程工具,使创建网站更加有趣和好玩。当然,没有JavaScript就没有jQuery了,但是人们经常头脑风暴,混淆了这两个术语,尤其是在将交...

  • 发布于 2021-06-25 04:09
  • 阅读 ( 288 )

json文件(json)和xml格式(xml)的区别

...,但JSON是一种轻量级的开放标准数据交换格式,它是从JavaScript扩展而来的。 XML代表“扩展标记语言”,其编写方式与HTML类似,而JSON代表“JavaScript对象表示法”,它是JavaScript语法的一个子集,完全独立于语言。 什么是xml格...

  • 发布于 2021-06-25 06:14
  • 阅读 ( 283 )

角度1(angular 1)和角度2(angular 2)的区别

在最新的JavaScript库中,AngularJS(通常称为“Angular”或“angularjs1.X”)的适应性稳步增加。那时,只使用JavaScript API就可以创建高级的动态web应用程序,但是很难维护初始的代码库。JavaScript通过允许脚本在浏览器中运行,开创了w...

  • 发布于 2021-06-25 08:35
  • 阅读 ( 196 )

节点.js(node.js)和棱角(angularjs)的区别

...度更快,并且提供了更好的用户体验。随着时间的推移,JavaScript框架在功能性和可靠性方面取得了巨大的进步。 JavaScript改变了web应用程序的开发,在Google发布Chrome浏览器和v8javascript引擎后,JavaScript的运行速度大大加快,几乎...

  • 发布于 2021-06-25 19:05
  • 阅读 ( 220 )

python(python)和javascript语言(javascript)的区别

Python和JavaScript都是高级编程语言,在编程语言方面非常简单。他们都是第一语言最佳人选。JavaScript无疑是最容易使用的web编程语言之一。在目前和可预见的未来,只有一种基于浏览器的编程语言。JavaScript在很短的时间内从不存...

  • 发布于 2021-06-25 22:27
  • 阅读 ( 276 )
魏琳琦东
魏琳琦东

0 篇文章

相关推荐