以下选择器的编写方式是否重要?关于引号问题validates both ways和W3 spec seems silent。
input[type=text]
或者
input[type='text']
我已经看到它在两个方面都有效,但只是想知道它总是对CSS或jQuery都有效吗?
使用引号只是一个偏好问题?语义? CSS版本?
由于向后兼容性,我们有两种方法吗?如果是这样,哪种方式最好呢?
尽管the accepted answer to this other SO question,我正在考虑这个......
input[type='text']
答案 0 :(得分:4)
我总结一下:
对于[type=text]
,如果您愿意,可以不使用引号,因为text
是合法的CSS标识符。
我个人更喜欢一致性而不必考虑它而不是错误的机会所以我总是把它放在引号中。
答案 1 :(得分:3)
属性值必须是标识符或字符串。
字符串是双引号或单引号[type="text"]
,而标识符[type=text]
是以这种方式定义的:
在CSS中,标识符(包括选择器中的元素名称,类和ID)只能包含字符[a-zA-Z0-9]和ISO 10646字符U + 00A0及更高,加上连字符( - )和下划线(_);它们不能以数字,两个连字符或连字符后跟数字开头。标识符还可以包含转义字符和任何ISO 10646字符作为数字代码(请参阅下一项)。例如,标识符“B& W?”可以写成“B \& W \?”或“B \ 26 W \ 3F”。
简而言之,无论哪种方式都是如此,这是一个偏好问题。字符串的优点(即引用属性值)是为了保持一致性;每个值都可以表示为字符串,但并非所有值都可以表示为标识符。您可以通过this page运行值来检查您是否需要报价。
答案 2 :(得分:1)
我会继续使用input[type='text']
。