我有一个非常垃圾的HTML页面,所以我试图将其削减。
我总是将type='text'
放在我的输入上,当它们是文本输入时:
<input type="text" />
但是,浏览器似乎并不严格要求。
省略此属性,文本被视为不良做法?
答案 0 :(得分:5)
在所有HTML规范(从HTML 2.0开始)和所有实现中,type
属性始终是可选的,默认为text
。因此,当您想要一个文本输入字段时,省略它是安全的,当然也可以安全地包含它。
在DOM中,<input>
和<input type=text>
具有相同的表示形式(包括元素节点的type
属性,值为'text'
),除了仅在后一种情况下attributes
属性包含type
。因此,任何需要type
属性的JavaScript处理都是一样的。
将其包含在与其他input
元素的对称性或显式性中是否有用是一个意见和品味问题,以便阅读HTML源的人会立即看到我们有一个文本输入字段,无需扫描可能很长的属性列表即可看到没有type
属性。
但是,可能存在技术差异,可能使用type=text
属性变得有利。在CSS中,选择器input[type=text]
仅匹配明确设置了属性type=text
的元素。如果一致地使用这些属性,则可以为文本输入字段设置样式属性,而不会影响任何其他input
字段。否则你需要一个更复杂的选择器。
答案 1 :(得分:3)
要回答这个问题,我们可以参考:
HTML4 SPEC 17.4 The INPUT element
type = 文|密码|复选框|无线电|提交|重置|文件|隐藏|图片|按钮 [CI]此属性指定要创建的控件的类型。该 此属性的默认值为&#34; text&#34;。
HTML5规范4.10.5 The input element
type属性控制数据类型(和相关控件) 元素。它是枚举属性。缺失值默认值 是文本状态。
因此,省略该属性并不是一个糟糕的做法
答案 2 :(得分:1)
text是大多数(如果不是全部)现代浏览器中输入标记的type属性的默认值。但是,将它排除在外并不被视为“不良做法”,只有/好/做法才能包含它。
答案 3 :(得分:0)
如果您正在寻找现代浏览器,他们肯定会处理它。但是,如果您的用户使用的是较旧的浏览器(特别是IE旧的浏览器),那么上帝知道会发生什么。 ;)