我很好奇我们可以在同一个控制器的两个不同视图(在任何框架中)中使用id
的任何元素div
。
注意 _当我为div分配动态值时,它正在工作。可以任何人解释,为什么它的工作,因为我知道它不起作用。我正在使用Ruby on Rails
评论 :我不是要求在控制器的一个视图上使用重复ID,我要求有两个不同的页面但是同一个控制器和相同的js
文件
答案 0 :(得分:1)
这并非不可能,即使它不会引起错误,也不会为不同的元素使用相同的ID。 ID应该是唯一的,但您必须确保保持这种方式。 RoR无所事事。
如果您需要在某些JS代码中使用标识符,我建议创建一个类似"my-model-#{id}"
的ID(尽管不是CSS友好的),其中只有动态更改的id。或者在data-my-unique-id="#{id}"
对我来说,我会保留一个数据属性,ID可以在CSS上访问,这就是为什么它应该有一个描述性的名称并保持这样,避免动态值。
答案 1 :(得分:1)
它的工作原理是因为每个视图本质上都是一个不同的html文档。 html元素的ID在文档中应该是唯一的。但是如果你需要在不同视图中对多个元素使用相同的ID,那么更好的方法是使用类。