文档对象模型 (DOM:Document Object Model) 是一个平台,一个中立于语言的应用程序编程接口 (API),允许程序访问并更改文档的内容、结构和样式。
如需学习更多有关 DOM 的知识,请阅读我们的 HTML DOM 教程和 XML DOM 教程。
DOM 级别 0 不是 W3C 规范。而仅仅是对在 Netscape Navigator 3.0 和 Microsoft Internet Explorer 3.0 中的等价功能性的一种定义。
DOM 发展过程中的关键角色有:ArborText、IBM、Inso EPS、JavaSoft、Microsoft、Netscape、Novell、the Object Management Group、SoftQuad、Sun Microsystems 以及 Texcel。
W3C 的 DOM 级别 1 建立于此功能性之上。
DOM 级别 1 专注于 HTML 和 XML 文档模型。它含有文档导航和处理功能。
DOM 级别 1 于 1998 年 10 月 1 日成为 W3C 推荐标准。
第二版的工作草案在 2000 年 9 月 29 日。
DOM 级别 2 对 DOM 级别 1 添加了样式表对象模型,并定义了操作附于文档之上的样式信息的功能性。
DOM 级别 2 同时还定义了一个事件模型,并提供了对 XML 命名空间的支持。
作为一项 W3C 推荐标准,DOM 级别 2 规范发布于 2000 年 11 月 13 日:
DOM Level 2 核心 规定了访问和更改文档内容及结构的一个 API,此 API 同时包含用于 XML 的接口。
DOM Level 2 HTML 规定了操作 HTML 文档结构和内容的 API。(这部分规范仍然是工作草案)
DOM Level 2 规定了对文档视图进行访问和更改的 API。视图是与原文档相关联的表现形式或某种备用的表现形式。
DOM Level 2 Style 规定了动态访问及更改内容样式表的 API。
DOM Level 2 Events 规定了访问文档事件的 API。
DOM Level 2 Traversal-Range 规定了动态遍历和识别文档中内容范围的 API。
DOM Level 3 规定了内容模型 (DTD 和 Schemas) 和文档验证。同时规定了文档加载和保存、文档查看、文档格式化和关键事件。DOM Level 3 建立于 DOM Core Level 2 之上。
DOM Requirements 文档已经为 Level 3 requirements 进行了更新,并于 2000 年 4 月 12 日发布为工作草案。
下面的 DOM Level 3 工作草案发布于 2000 年 9 月 1 日:
DOM Level 3 Core 规定了访问和更改文档内容、结构及样式的一个 API。
通过增加新的接口和新的事件集,DOM Level 3 Events API 对 Level 2 Event API 的功能进行了扩展。
DOM Level 3 Content Model 规定了用于内容加载和保存、内容模型 (DTD and Schemas) 和文档验证支持的 API。
DOM Level 3 Views 规定了对文档视图进行访问和更改的 API。视图是与原文档相关联的表现形式或某种备用的表现形式。
| 规范 | 草案/提议 | 推荐 |
|---|---|---|
| DOM Level 1 | 01. Oct 1998 | |
| DOM Level 1 (2.Ed) | 29. Sep 2000 | |
| DOM Level 2 Core | 13. Nov 2000 | |
| DOM Level 2 HTML | 09. Jan 2003 | |
| DOM Level 2 Views | 13. Nov 2000 | |
| DOM Level 2 Style | 13. Nov 2000 | |
| DOM Level 2 Events | 13. Nov 2000 | |
| DOM Level 2 Traversal-Range | 13. Nov 2000 | |
| DOM Level 3 Requirements | 26. Feb 2004 | |
| DOM Level 3 Core | 07. Apr 2004 | |
| DOM Level 3 Events | 31. May 2011 | |
| DOM Level 3 Load and Save | 07. Apr 2004 | |
| DOM Level 3 Validation | 27. Jan 2004 | |
| DOM Level 3 XPath | 26. Feb 2004 | |
| DOM Level 3 Views | 26. Feb 2004 |
我们有CucumberRuby自动化框架,我们在Jenkins上的Docker中对Chromeheadless浏览器运行了一些测试。几天前,我们开始收到错误“此版本的ChromeDriver仅支持Chrome版本75”,这次我们使用ChromeDriver2.46并使用以下命令使用google-chrome-unstable浏览器:#ChromeRUNwget-q-O-https://dl-ssl.google.com/linux/linux_signing_key.pub|apt-keyadd-RUNecho"debhttp://dl.google.com/linux/chrome/
理论上,浏览器可以支持多种用于网页客户端脚本的编程语言。实际上,ECMAScript是唯一一种在所有浏览器中得到广泛实现和使用的语言。因此对于大多数人来说,它是网络不可或缺的一部分。但是,它从未被W3C提升为网页脚本的推荐标准。HTML5似乎也促进了它,尽管客户端交互性变得越来越重要。为什么会这样?是为了防止编程语言在网络平台上的垄断吗?(显然失败了)是因为W3C更喜欢只关注网络的声明性方面吗?或者仅仅是一种政治立场? 最佳答案 我会尝试一下:W3C试图起草和推荐标准。ECMAscript已经是来自ECMA的标准。它不需要重新批准该
我读了这个onW3Schools:AllnumbersinJavaScriptarestoredas64-bit(8-bytes)base10,floatingpointnumbers.这听起来很奇怪。现在,它要么是错误的,要么应该有充分的理由不像IEEE标准那样使用基数2。我试图找到一个真正的JavaScript定义,但找不到。在V8或WebKit文档中,我可以在维基百科上找到我最熟悉的两个JavaScript实现,我可以找到它们如何存储JavaScriptNumber类型。那么,JavaScript使用基数10吗?如果是这样,为什么?我能想到的唯一原因是,当您希望能够准确地存储整数
有什么方法可以修复JavaScript&在w3验证中导致的错误吗?问题是我必须在if语句中使用&&,这两个&&会导致w3验证错误。编辑:“”也有同样的问题。 最佳答案 您可以做一些事情。您可以将其包含在HTML注释中:您可以将其包含在CDATA部分中://您可以改为在文件中包含: 关于Javascript:如何修复由&引起的W3验证错误,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question
关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion我读过并听说jQuery不是W3C标准,但与此同时我找不到原因。任何有推理的解释都将受到赞赏。编辑:好的,也许我应该改写/改写我原来的问题。实际上,我脑子里想的问题是——jQuery是否遵循W3C标准?但在发布时它只是被改写了。
编辑:这不是因为ajax调用而发生的。为了好玩,我将其更改为使用来自TinyMCE组件的值,我得到了同样的结果。content=tinyMCE.get('cComponent').getContent();//contentatthispointistestvalueToDisplay=content;如果我这样做:jQuery(selector).html(valueToDisplay);我得到:test有没有人在使用Firefox3.6.10和jQuery1.4.2之前见过这个,我正在尝试使用jQueryajax调用的结果更改链接文本。我得到了ajax调用的预期结果:functio
问题我正在转换目前仅适用于InternetExplorer的相对较大的Javascript,以便使其也适用于其他浏览器。由于代码广泛使用XPath,我们做了一些兼容性功能,使事情变得更容易functionselectNodes(xmlDoc,xpath){if('selectNodes'inxmlDoc){//useIElogic}else{//useW3C'sdocument.evaluate}}这大部分工作正常,但我们只是遇到了限制,即IE中的位置是从零开始的,但在其他浏览器使用的W3C模型中,它们是从一开始的。这意味着要获取第一个元素,我们需要在IE中执行//books[0],在
以下代码添加和删除属性readonly作品(来自here):$('#someid').prop('readonly',true);$('#someid').removeProp('readonly');但是W3C标准建议使用没有值的只读属性(来自here):我们应该使用:改为:作为$('#someid').prop('readonly');不起作用。正确执行此操作的代码是什么? 最佳答案 正确的做法是:$('#someid').prop('readonly',true);或$('#someid').prop('readonly',f
如果XMLHttpRequest对象支持W3CProgressEvents,有没有办法在JavaScript中检查??我的意思是,如果将onload、onprogress、onabort、onerror等属性设置为某些处理程序函数,将会有那些函数调用了那些事件,如前所述。附加(奖励)问题:有没有办法增加XMLHttpRequest(例如,使用一些计时器)以支持这些事件?旁注:我首先在XMLHttpRequest的上下文中发现了W3CProgressEventshere 最佳答案 你试过这样做吗?try{varxhr=newXMLHt
new2014'sXHTMLrecomendationsayaboutnamespaces,TheHTMLnamespaceis:http://www.w3.org/1999/xhtml因此,一个好的做法是在XHTML5文件的根标记中添加属性xmlns,...但是,让我们看看http://www.w3.org/1999/xhtml,更新了吗?否:最后一次更新是2013年1月16日,关于XHTML,它说这是“工作草案”,所以,也许,没有关于...的最终决定问题:我们可以信任这个namespace声明吗?或者我们必须等待一个完整和安全的标准化? 最佳答案