在输入上省略type =“text”被认为是不好的做法?

时间:2014-12-20 04:46:26

标签: html

我有一个非常垃圾的HTML页面,所以我试图将其削减。

我总是将type='text'放在我的输入上,当它们是文本输入时:

<input type="text" />

但是,浏览器似乎并不严格要求。

省略此属性,文本被视为不良做法?

4 个答案:

答案 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旧的浏览器),那么上帝知道会发生什么。 ;)