我偶然发现了 IE(6/7/8) 中的一个奇怪行为,这让我抓狂。给定以下标记:
<input type="text" value="foo" class="bar" cache="yes" send="no" />
请注意,cache
属性设置为 yes
。然而,IE 在呈现 DOM 时以某种方式设法将属性值更改为 cache="cache"
。
所以,我想知道是否有我不知道的未记录的功能?我已经用谷歌搜索了大约一个小时,但找不到任何相关信息(甚至在 MSDN 上也找不到)。
注意
我知道添加自定义属性不符合标准, bool 属性应注明为 attribute="attribute"
。然而,我必须应对这些,因为在我加入团队之前很久就已经引入了它们。这些自定义属性与 javascript 结合使用,以提供更加用户友好的表单处理方法(并且它在 Firefox/Safari/Opera/Chrome 中运行良好)。
我知道我可以简单地将这些自定义属性转换为将随 HTML5 引入的 x-data 属性,但这会花费我几个小时的额外工作 - 唉。
希望,我说清楚了。 提前致谢。
最佳答案
长期以来, bool 属性最好写成 <input type="checkbox" checked="checked"/>
等等 这是因为在恐龙时代,你应该只写 <input type="checkbox" checked/>
并分配与属性名称相同的值破坏了最少的旧版浏览器,同时仍然使标记符合 XML。
关于javascript - 即 : Undocumented "cache" attribute defined for input elements?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2280138/