3

在许多情况下,我在表单中使用 jQuery 的出色日期选择器。我想要一种通用的方式来应用它,而不知道输入的 id 或类是什么。我想出了这个:

<span id="datePickerChild">
 <input type="text"/>
</span>
<script type="text/javascript">
 $(document.getElementById("datePickerChild").firstChild).datepicker();
</script>

使用 mvc3 框架,这些输入会在运行时基于帮助程序使用自己的 id 等输入,所以我想要这种动态方法。有没有更有效的方法来做到这一点?

编辑:

使用 jQuery 1.4.4

4

2 回答 2

2

这似乎是一个合理的方法。您可能可以使用 jQuery 更“惯用地”执行此操作,如下所示:

$('#datePickerChild').children().first().datepicker();

甚至:

$('#datePickerChild > input:first').datepicker();

然而,令人困惑的一点是,您说您想这样做而不必知道元素的 id 是什么,尽管您仍然在选择器中使用 id。如果您尝试“一般”使用该 id(因为它在页面上多次出现),您可能希望使用一个类。一旦你对你需要的元素有了一个类,你只需将你的选择器更改为:

$('.date-picker-container').children().first().datepicker();
于 2012-05-11T19:42:03.647 回答
1

好的,所以根据您的评论说您不知道确切的ID 并且您不想使用类,您不能只进行部分 ID 匹配以匹配所有这些吗?就像是:

$("[id*=datePicker]").datepicker();
于 2012-05-11T19:41:18.543 回答