This fiddle有一个我正面临的完美场景。
在某些情况下,我的应用程序中有两个元素具有相同的id
。所有jQuery和JavaScripts函数都可以正常工作,因为我可以通过form
元素区分它们。
但即使知道他们的所有者表单(label
属性),我的.form
也会被搞乱。我可以弄清楚它为什么会这样。我认为这有点无意义。
我想知道这是否可以实现,或者是否只是不可能。
更新
只是对为什么重复某些id
重复的解释是我的应用程序在ASP.Net Mvc上运行,因此这些元素是由MVC助手生成的,例如: EditorFor
。所以它给了我id
,我没有选择他们。
答案 0 :(得分:4)
ID应该是唯一的。使用类或唯一ID。
答案 1 :(得分:1)
从您的评论中看起来似乎虽然您使用了两个具有相同属性的Models
。在Code
和Employee
上同时举例Company
。在呈现HTML时,它会在表示该属性的每个元素上将属性名称设置为ID
,以便为Employee.Code
和Company.Code
分配相同的ID。
要解决此问题,而不是:
@Html.EditorFor(m => m.Code)
使用
@Html.EditorFor(m => m.Code, new { id = "Employee_Code" })
因此,您的ID将是唯一的,并将解决您遇到的问题。