3

我在 IE(6/7/8) 中偶然发现了一个让我抓狂的奇怪行为。给定以下标记:

<input type="text" value="foo" class="bar" cache="yes" send="no" />

请注意,该cache属性设置为yescache="cache"然而,IE在渲染 DOM 时以某种方式设法将属性值更改为。

所以,我想知道,是否有我不知道的未记录功能?我已经用谷歌搜索了大约一个小时,但找不到任何关于此的信息(甚至在 MSDN 上也没有)。

注意
我知道添加自定义属性是不符合标准的,布尔属性应该记为attribute="attribute". 尽管如此,我必须应对这些问题,因为它们在我加入团队之前很久就被引入了。这些自定义属性与 javascript 结合使用,以提供对用户更友好的表单处理方法(它在 Firefox/Safari/Opera/Chrome 上运行良好)。

我知道我可以简单地将这些自定义属性转换为将在 HTML5 中引入的 x-data 属性,但这将花费我几个小时的额外工作 - 叹息。

希望,我说清楚了。提前致谢。

4

1 回答 1

1

长期以来,布尔属性最好写成<input type="checkbox" checked="checked"/>etc。这是因为在恐龙时代,您应该只编写<input type="checkbox" checked/>和分配与属性名称相同的值,破坏了最少的旧版浏览器,同时仍然制作标记 XML -合规。

于 2010-02-17T11:57:41.220 回答