将数组值传递给jQuery选择器方法?

将数组值传递给jQuery选择器方法?,jquery,jquery-selectors,Jquery,Jquery Selectors,目前,在我的JS中,我静态地定义了我想要将datepicker脚本与哪个输入ID相关联 像这样: $('datepicker1').glDatePicker(); 然而,为了使其动态化,我将其重构为一个for循环,以便对于需要日期选择器的多个字段,我可以在该循环中调用它们 dateArray[y] = "datePicker" + i; //out of loop scope for (i = 0; i < dateArray.length; i++) { $

目前,在我的JS中,我静态地定义了我想要将datepicker脚本与哪个输入ID相关联

像这样:

$('datepicker1').glDatePicker();
然而,为了使其动态化,我将其重构为一个for循环,以便对于需要日期选择器的多个字段,我可以在该循环中调用它们

dateArray[y] =  "datePicker" + i;
//out of loop scope

for (i = 0; i < dateArray.length; i++)
    {
        $(dateArray[i]).glDatePicker();

    }
dateArray[y]=“日期选择器”+i;
//环外作用域
对于(i=0;i
它似乎不起作用,我已通过将值打印到日志来检查数组中是否存在值

这是jQuery的一个限制吗


谢谢

您需要使用
“#”


您需要使用
“#”

我要将日期选择器脚本与哪个输入ID关联

我想你错过了身份选择器

$('#'+ dateArray[i]).glDatePicker();
---^---here
我要将日期选择器脚本与哪个输入ID关联

我想你错过了身份选择器

$('#'+ dateArray[i]).glDatePicker();
---^---here

最好通过将所有ID连接到一个字符串中,对
glDatePicker()
进行一次jQuery调用

var allIds = '';
for (i = 0; i < dateArray.length; i++) {
  allIds += '#' + dateArray[i] + ',';
}
$(allIds).glDatePicker();

还有另一种单次呼叫解决方案(假设您的所有ID都以“datePicker”开头):


最好通过将所有ID连接到一个字符串中,对
glDatePicker()
进行一次jQuery调用

var allIds = '';
for (i = 0; i < dateArray.length; i++) {
  allIds += '#' + dateArray[i] + ',';
}
$(allIds).glDatePicker();

还有另一种单次呼叫解决方案(假设您的所有ID都以“datePicker”开头):


datepicker1
是标签名吗?你可以避免循环,然后打一个简单的电话(见我的答案)。
datepicker1
是标签名吗?你可以避免循环,然后打一个简单的电话(见我的答案)。谢谢,不敢相信我错过了谢谢,不敢相信我错过了
$('[id^="datePicker"]').glDatePicker(); // selects all elements that have id starting with datePicker