49

在阅读 WHATWG 的 HTML5——面向 Web 开发人员的技术规范时,我看到了许多参考资料,例如:

在 IDL 属性中反映内容属性

一些 IDL 属性被定义为反映特定的内容属性。这意味着在获取时,IDL 属性返回内容属性的当前值,在设置时,IDL 属性将内容属性的值更改为给定值。

和:

在符合性文件中,只有一个正文元素。document.body IDL 属性使脚本可以轻松访问文档的正文元素。

body 元素将 Window 对象的许多事件处理程序作为事件处理程序内容属性公开。它还反映了它们的事件处理程序 IDL 属性。

我(诚然是模糊的)理解来自 Windows 世界。我认为 .idl 文件用于映射 n 层分布式应用程序中的远程过程调用。我会假设内容属性是指 html 元素属性。

我可以看到标准中没有任何地方可以解释术语“内容属性”和“IDL 属性”的这种用法。谁能解释这些术语的含义以及这两种属性之间的关系?

4

1 回答 1

63

IDL(接口定义语言)来自Web IDL规范:

本文档定义了一种接口定义语言 Web IDL,可用于描述旨在在 Web 浏览器中实现的接口。Web IDL 是一种 IDL 变体,具有许多功能,可以更容易地指定 Web 平台中常见脚本对象的行为。本文档还详细介绍了使用 Web IDL 描述的接口如何对应于 ECMAScript 执行环境中的构造。

内容属性是出现在标记中的属性:

<div id="mydiv" class="example"></div>

在上面的代码中idclass都是属性。通常一个内容属性会有一个对应的 IDL 属性。

例如,以下 JavaScript:

document.getElementById('mydiv').className = 'example'

相当于设置class内容属性。

在 JavaScript 文本中,IDL 属性通常被称为属性,因为它们作为 DOM 对象的属性暴露给 JavaScript。

虽然通常有一对对应的内容属性和 IDL 属性/属性,但它们不一定可以互换。例如,对于一个<option>元素:

  • content 属性selected表示选项的初始状态(当用户更改选项时不会改变),
  • 该属性selected反映控件的当前状态
于 2012-09-10T15:52:20.393 回答