DOM元素是否可以包含包含空格的ID?

Tom*_*man 20 jquery dom

如果是这样,你如何选择jQuery?即,$("#a b")查找<b>节点内的所有节点id=a.

kar*_*m79 30

根据基本类型HTML 4.0规范:

ID和NAME令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(" - "),下划线("_") ,冒号(":")和句号(".").

即使空格有效,带有空格的id属性也会被jQuery解释为具有当前选择器语法的祖先后代选择器.


Gab*_*ley 9

简短的回答是否定的.字母,数字,下划线,连字符,句号和冒号.

(笨蛋,卡里姆打败了我.)


L84*_*L84 9

虽然这是一个古老的问题,但我认为我会在HTML 5规范上分享那些遇到这个问题的人,就像我在问到这些问题几年后所做的那样.

根据HTML 5规范:

该值必须在元素的主子树中的所有ID中唯一,并且必须至少包含一个字符.该值不得包含任何空格字符.

它还说:

ID可以采取什么形式没有其他限制; 特别是,ID可以只包含数字,以数字开头,以下划线开头,只包括标点符号等.


pav*_*ium 5

这是一个类比论证。

考虑 CLASS 选择器。与 ID 不同,但有相似之处。

你显然不能有一个带有嵌入空格的名,因为类列表

<p class='a b c'>some text</p>
Run Code Online (Sandbox Code Playgroud)

无法与带空格的单个名称区分开来。

好吧,无论如何,你不能有一个 id 名称列表,所以这个类比不成立,但我认为我们已经变得太快了,无法尝试在它们不属于的地方插入空格。