HTML5中的多个相同的元素id -这应该如何与脚本一起工作?
Multiple identical element IDs in HTML5 - how is this supposed to work with scripts?
我已经回答了数百个jQuery问题。新手常犯的错误之一是使用多个元素id,像这样:
<div id="a">....</div>
<div id="a">....</div>
然后他们会这样做,并问为什么它不像预期的那样工作:
$('#a').hide();
我通常这样回答:
IDs must be unique
…有人总是这样回应:
但不是在HTML5!
问题:所以如果在HTML5中允许多个相同的id,脚本应该如何处理它们,或者我们应该仍然避免使用多个相同的元素id ?
引用自HTML5
id属性指定其元素的唯一标识符(id)。(DOMCORE)
该值在该元素的
home subtree
中的所有id中必须唯一并且必须包含至少一个字符。值必须不是不能包含空格
我想在一般意义上,ID
可能是一个用词不当。但是,它应该在子树上下文中有效。
home子树是:
节点的home子树是在该节点的根上扎根的子树元素。当一个节点位于Document中时,它的主子树是文档的树
我建议避免使用多个相同的id。Jquery返回一个基于选择器的元素数组,该选择器将隐藏该约定的误用。
当使用id作为jquery选择器时,只返回1个元素:jquery Docs
我将继续保持我的id唯一。它只是使开发更容易。
相关文章:
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- document.title函数可以't设置它与php一起工作
- "此网站似乎使用滚动链接定位效果.这可能不能很好地与异步平移一起工作;
- 非常简单的js测试;Don’不要和Minko一起工作
- 无法使我的文本参数与我的查询一起工作
- 为什么Angularjs验证don't与输入[type=“number”]一起工作
- 无法使vash 0.8.0与express 4.12.3一起工作
- 如何使Angular JS控制器与指令一起工作
- 无法使autocompletion与bootstrap和php代码点火器一起工作
- 注入的元素和jQuery脚本.如何让他们一起工作
- 两个独立工作的javascript函数,但不能一起工作
- 角度和砖石一起工作
- Node http-proxy-middleware 不能与本地服务器一起工作
- jQuery脚本不想一起工作
- page.js使examples/hash与hashbang:true一起工作
- javascript使jquery倒计时与UTC时间一起工作
- jQuery.not()选择器无法与类一起工作
- Rails3-可排序列表不能与wysihtml5一起工作
- 替换匹配函数给出了未定义的错误,但它与替换一起工作
- 按钮上的数据加载消息无法与ajax调用一起工作