gpt4 book ai didi

javascript - 是否存在从 HTML 属性名称到 DOM 属性名称的映射?

转载 作者:行者123 更新时间:2023-11-30 10:35:00 26 4
gpt4 key购买 nike

在 HTML 中

<td colspan=3 style='background-color:pink;' >hello world</td>

但在 Javascript/DOM 中

var td = document.createElement('td');
td.colSpan = 3;
td.style.backgroundColor = 'pink';

是否存在 HTML 属性和样式到 Javascript/DOM 属性和样式的映射?

了解 CSS 样式的 camelBack

有一些 HTML 规范,例如 colspan=3,并用 Javascript 实现它们。因此需要 HTML 属性名称和 DOM 属性名称之间的映射。


好的,这是异常属性的映射。那些具有 1::1 映射和函数的被省略。

html2dom = {  acceptcharset: 'acceptCharset',  accesskey: 'accessKey',  bgcolor: 'bgColor',  cellindex: 'cellIndex',  cellpadding: 'cellPadding',  cellspacing: 'cellSpacing',  choff: 'chOff',  class: 'className',  codebase: 'codeBase',  codetype: 'codeType',  colspan: 'colSpan',  datetime: 'dateTime',  checked: 'defaultChecked',  selected: 'defaultSelected',  value: 'defaultValue',  frameborder: 'frameBorder',  httpequiv: 'httpEquiv',  longdesc: 'longDesc',  marginheight: 'marginHeight',  marginwidth: 'marginWidth',  maxlength: 'maxLength',  nohref: 'noHref',  noresize: 'noResize',  noshade: 'noShade',  nowrap: 'noWrap',  readonly: 'readOnly',  rowindex: 'rowIndex',  rowspan: 'rowSpan',  sectionrowindex: 'sectionRowIndex',  selectedindex: 'selectedIndex',  tabindex: 'tabIndex',  tbodies: 'tBodies',  tfoot: 'tFoot',  thead: 'tHead',  url: 'URL',  usemap: 'useMap',  valign: 'vAlign',  valuetype: 'valueType' };

最佳答案

DOM IDL为了方便和一致,以不同方式公开不同的 HTML 属性。即,COLSPAN -> colSpanCLASS -> className。 (请记住,HTML 属性区分大小写,因为 DOM 属性是区分大小写的。)

由于所有标准 HTML 属性列在适当的 DOM IDL 中——这是权威来源——因此可以根据提供的定义生成映射。可能需要查阅其他文档以了解特定于 vendor 或尚未编纂的属性。

1.1.3 Naming Conventions说:

While it would be nice to have attribute and method names that are short, informative, internally consistent, and familiar to users of similar APIs, the names also should not clash with the names in legacy APIs supported by DOM implementations. Furthermore, both OMG IDL and ECMAScript have significant limitations in their ability to disambiguate names from different namespaces that make it difficult to avoid naming conflicts with short, familiar names. So, DOM names tend to be long and descriptive in order to be unique across all environments.

也就是说,虽然 DOM 试图与 HTML(和 XML)很好地配对,但它有利于内部一致性和普遍使用。


问题的原始前提是不正确的,因为 background-color 不是 HTML 属性。它是通过 elm.style.backgroundColor 在 DOM 中公开的 CSS 属性(请参阅 Jospehn Siber 对映射的回答)。

因为 background-color 不是 HTML 属性,所以它不能colspan 等 HTML 属性进行比较或

关于javascript - 是否存在从 HTML 属性名称到 DOM 属性名称的映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14544481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com