HTML - 为什么不确定="indeterminate | true"不受尊重?

Ols*_*dev 14 html javascript dom

我想使用复选框的indeterminate属性.更改JavaScript中的值适用于各种浏览器(甚至是MSIE6!),但是,我无法通过任何 HTML属性设置初始值.

这是设计的吗?如果是这样,为什么?在服务器端,我可以确定它是不确定的.那么,为什么我不能告诉浏览器?如果一个长期运行的脚本支持属性设置,那么浏览器供应商是否担心FOUC(无格式内容的闪烁)?

这是一个有效的例子:http://jsfiddle.net/KUQC9/1/

Dre*_*nor 11

您无法通过HTML设计使复选框不确定.请参阅css-tricks.com上的这篇文章,该文章深入讨论了该主题.

至于你的问题的"为什么"部分,有关W3C邮件列表的一些信息可能会有所帮助:

  • 看起来好像给复选框一个三态值(看似检查,未检查,不确定)的想法被考虑,但由于向后兼容性问题而没有实现
  • indeterminate正如您在示例中所示,我能找到的真正HTML"内容"属性的唯一提及是:

对于它的价值,实际上有一个:indeterminateCSS选择器(它似乎被视为像其他CSS伪类一样:visited,也不能直接通过HTML设置,所以也许这也是indeterminate不可能的另一个原因).在CSS选择器的演示中,W3C本身使用了与您相同的方法:W3C不确定CSS选择器演示.鉴于此,我会说你正在使用可用于设置复选框的不确定状态的最佳方法

  • 文章及其评论真正讨论了原因. (4认同)