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名单,无论如何,所以这个比喻分崩离析,但我想我们已经变得太快了,试图插入他们不属于的空间。