URL:http ://dl.dropbox.com/u/143355/datepicker/datepicker.html
に焦点を当てるとDate range
、日付ピッカーウィジェットが表示されます。これを生成するコードは次のとおりです。
var $months = this.nav('months', 1); //nav some function
var $years = this.nav('years', 12);
var $nav = $('<div>').addClass('nav').append($months, $years);
this.$month = $('.name', $months);
this.$year = $('.name', $years);
$calendar = $("<div>").addClass('calendar');
// Populate day of week headers, realigned by startOfWeek.
for (var i = 0; i < this.shortDayNames.length; i++) {
$calendar.append('<div class="dow">' + this.shortDayNames[(i + this.startOfWeek) % 7] + '</div>');
};
this.$days = $('<div>').addClass('days');
$calendar.append(this.$days);
this.$picker = $('<div>')
.click(function(e) { e.stopPropagation() })
// Use this to prevent accidental text selection.
.mousedown(function(e) { e.preventDefault() })
.addClass('datepicker')
.append($nav, $calendar)
.insertAfter(this.$el);
だから、$nav
そして$calendar
の子です$picker
。
ただし、このウィジェットをFFまたはクロムで検査すると、カレンダーに追加された要素:shortDayNamesthis.$days
が表示され、カレンダーの領域で強調表示されません。
このウィジェットを拡張して時間サポートを追加したいのですが、この問題が私の邪魔になります。 this。$pickerにもう1つdivを追加すると、これらすべてのカレンダー要素がcalenderの代わりにこの新しいdivに表示されます。
コードは次のとおりです。
var $hours = this.nav('hours', 0);
var $minutes = this.nav('minutes', 0);
var $timenav = $('<div>').addClass('nav').append($hours, $minutes);
this.$picker.append($timenav)
上記の問題により、border-topを$ timenavに適用すると、上に表示されますが、すべての日の下に表示したいのですが、結果の画像は次のとおりです。
これから抜け出す方法はありますか?問題が発生し.append()
ますか?