【问题标题】:IE: Undocumented "cache" attribute defined for input elements?IE:为输入元素定义的未记录的“缓存”属性?
【发布时间】:2011-01-17 19:38:32
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

    标签: javascript dom internet-explorer custom-attribute undocumented-behavior


    【解决方案1】:

    长期以来,布尔属性最好写为&lt;input type="checkbox" checked="checked"/&gt; 等。这是因为在恐龙时代,您应该只写&lt;input type="checkbox" checked/&gt; 并分配与属性名称相同的值最少旧版浏览器,同时仍使标记符合 XML。

    【讨论】:

    • 正如我所写,我知道这个遗留问题。问题是 IE 不会破坏“发送”属性。
    • 如果你这么说,我建议你改写一下,因为我已经把你的问题又看了两遍,仍然看不到你说的地方。属性值怎么读?
    • 你说得对,我没有明确提及 - 我会编辑帖子。
    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-29
    • 2021-03-15
    • 2021-05-10
    • 2020-12-13
    • 1970-01-01
    相关资源
    最近更新 更多