这对我来说很奇怪:
看看上面从Youtube截取的屏幕截图。有人可以说明为多个元素使用相同的ID(dismissable
,dismissed
)有什么目的吗?
这些是右侧的建议视频,正在播放另一个视频,如下面的屏幕截图所示:
答案 0 :(得分:6)
HTML验证器:https://validator.w3.org/显示 YouTube和许多Google网站实际上都不符合HTML。
注意:我测试了HTML的副本,因为使用URL会裁剪一些在页面加载后呈现的HTML。
我分析了所需的页面,结果显示了1000多个html错误。请参阅下面的错误#1001:
关于您的问题。所述ID是重复的,在HTML中是不允许的。该ID用于CSS样式设置(使用ID格式化多个元素是一种不好的做法。好的做法是使用该类。请参见:
结论 对于专业编程的学习者而言,Google网站是不好的例子。实际上,我曾经在LinkedIn上发表过一篇文章,其中介绍了Google如何要求网站遵守某些SEO规则,但是,并非Google的网站都遵循自己的SEO规则。有关更多详细信息,请参见我在Linkedin上的article。
答案 1 :(得分:0)
答案 2 :(得分:0)
完全可能有多个具有相同ID的元素。通常这不是最佳做法,但确实有其偶尔的用途。至于选择器的工作方式,如果您知道自己会有冲突的ID,则可以将选择器与父级一起使用,其中父级下的ID是唯一的。例如$('div#car span#size)和$('div#truck span#size')。
实际上,可以使用类来替换多个ID。 但是,类旨在用于应用样式,而不是标识元素,从而使名称的范围更加广泛,因此可能会重叠。特别是在使用第三方库的情况下。作为“标识符”的id并不打算相乘,因此显然需要两者之间的某些东西。实际用途是将页面/域的各个部分组成单独的逻辑单元。因此需要使用(至少)两层身份验证。