DOM元素可以包含一个包含空格的ID吗?
如果是这样,你如何选择jQuery? 即, $("#ab")
查找id=a
节点内的所有节点。
根据基本类型的HTML 4.0规范 :
ID和NAME令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(“ – ”),下划线(“_”) ,冒号(“:”)和句号(“。”)。
即使空格有效,带有空格的id属性也会被jQuery解释为具有当前选择器语法的祖先后代选择器。
简短的回答是否定的。 字母,数字,下划线,连字符,句号和冒号。
(dar,karim打败了我。)
虽然这是一个古老的问题,但我认为我会在HTML 5 Spec上分享那些遇到这个问题的人,因为我问过这些问题几年之后。
根据HTML 5规范 :
该值必须在元素的主子树中的所有ID中唯一,并且必须至少包含一个字符。 该值不得包含任何空格字符。
它还说:
ID可以采用何种forms,没有其他限制; 特别是,ID可以只包含数字,以数字开头,以下划线开头,仅包括标点符号等。
这是一个类比的论证。
考虑CLASS选择器。 与ID不同 ,但有相似之处。
您显然不能拥有带有嵌入空间的类名,因为类列表
some text
无法区分带空格的单个名称。
好吧,你不能拥有一个id名单,无论如何,所以这个比喻分崩离析,但我想我们已经变得太快了,试图插入他们不属于的空间。