HTML5中有多个相同的元素ID - 这应该如何与脚本一起使用?

Dio*_*ane 7 html javascript jquery html5

我已经回答了数百个jQuery问题.常见的新手错误之一是使用多个元素ID,如下所示:

<div id="a">....</div>
<div id="a">....</div>
Run Code Online (Sandbox Code Playgroud)

然后他们会做这样的事情,并问为什么它不能按预期工作:

$('#a').hide();
Run Code Online (Sandbox Code Playgroud)

我经常回复:

IDs must be unique
Run Code Online (Sandbox Code Playgroud)

...有人总是回应:

但不是HTML5!

问题:如果HTML5中允许多个相同的ID,那么脚本应该如何处理它们,或者我们是否应该避免使用多个相同的元素ID?

kar*_*ikr 12

只是引用HTML5

id属性指定其元素的唯一标识符(ID).[DOMCORE]

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

我猜在一般意义上,ID可能是用词不当.但是,它应该在子树上下文中有效.

家庭子树是:

节点的主子树是以该节点的根元素为根的子树.当节点在Document中时,其主子树是Document的树