3

多くの場合、私はフォームでjQueryのすばらしいdatepickerを使用しています。入力のIDまたはクラスが何であるかを知らなくても、それを適用する一般的な方法が必要でした。私はこれを思いついた:

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

mvc3フレームワークを使用すると、これらの入力はヘルパーに基づいて実行時に独自のIDなどで入力されるため、この動的なアプローチが必要でした。これを行うためのより効率的な方法はありますか?

編集:

jQuery1.4.4の使用

4

2 に答える 2

2

これには合理的なアプローチのようです。次のように、jQueryを使用してもう少し「慣用的に」行うことができます。

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

あるいは:

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

ただし、混乱の1つのポイントは、セレクターで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 に答える