使用JQuery日期选择器(具有重复ID的元素)

使用JQuery日期选择器(具有重复ID的元素),jquery,html,css,jquery-ui-datepicker,Jquery,Html,Css,Jquery Ui Datepicker,我在使用jQueryUIDatePicker时遇到以下错误 0x800a138f-JavaScript运行时错误:无法设置未定义或空引用的属性“currentDay” 我在网上读到,这是因为html标记具有重复ID。我目前正在使用CSS属性display隐藏/显示具有重复ID的div/输入:无,这取决于用户是否在移动设备上查看站点。当我使用下面的代码行为datepicker选择输入时,隐藏的输入看起来对jquery仍然“可见” $(“#emp2startdate”).datepicker() $

我在使用jQueryUIDatePicker时遇到以下错误

0x800a138f-JavaScript运行时错误:无法设置未定义或空引用的属性“currentDay”

我在网上读到,这是因为html标记具有重复ID。我目前正在使用CSS属性display隐藏/显示具有重复ID的div/输入:无,这取决于用户是否在移动设备上查看站点。当我使用下面的代码行为datepicker选择输入时,隐藏的输入看起来对jquery仍然“可见”

$(“#emp2startdate”).datepicker()

$(“#emp2enddate”).datepicker()


我怎样才能对jquery完全隐藏html标记ID,这样就不会选择重复的ID?

我试图避免更改ID,因为我想我在代码中的其他地方使用了它们。经过深入研究,我发现每个输入的ID都没有在其他任何地方使用,因此我可以毫不担心地更改它们

尽可能不要使用ID。您可以使用任何自定义属性或类名。ID的主要思想也被忽略了。ID应该是页面上唯一的ID。ID在页面上应该是唯一的。CSS规则
display
只影响元素的可见性,而不影响元素的存在。如果您没有看到元素,并不意味着javascript没有看到它。您需要删除重复的ID,而不是隐藏它们。将元素改为使用公共类,因为它们是为公共类而设计的;分组元素您需要检查mobile是否使用javascript,然后查找
$('.mobile#yourID')
$('.not mobile#yourID')
我不确定,但可能:
$('[id=“emp2startdate”]:visible')。日期选择器()