所以我有一个相当随意的问题但是我们走了。我正在使用Javascript为插件制作一些技巧。假设我有一个如下所示的输入:
<input type='cc' id='cc' class='' />
显然类型cc
不是有效的输入类型。 html是否会自动将未知类型默认为text
,还是会产生不利影响?
答案 0 :(得分:7)
答案 1 :(得分:2)
如果输入类型的值未知或浏览器不支持,则默认为&#34; text&#34;。
答案 2 :(得分:1)
tl; dr:如果您为枚举属性传递了无效值,则会使用无效值默认值。如果不存在,则会使用缺失值默认。
输入type
属性未定义无效值默认值,但它定义了缺失值默认值,即text
。
因此,使用无效值将默认为text
。
来自WHATWG HTML规范:
2.4.3 Keywords and enumerated attributes
某些属性被定义为使用一组有限的关键字。这些属性称为枚举属性。 [...]此外,可以给出两种默认状态。第一个是无效值默认值,第二个是默认值。
[...]
如果属性值与给定关键字都不匹配,但属性具有无效值默认值,则该属性表示该状态。否则,如果属性值与任何关键字都不匹配,但是定义了缺失值默认状态,那么 是属性所代表的状态。否则,没有默认值,无效值表示没有表示状态。
<input>
指定缺失值默认,即text
:
缺失值默认是文本状态。