我有一個有趣的選擇語句:
$("span#dateofbirth").bind('click', function() {
$("span#dateofbirth>form>input.inplace_field").blur();
$("span#dateofbirth>form>input.inplace_field").removeClass("inplace_value");
$("span#dateofbirth>form>input.inplace_field").datepicker({dateFormat:'yy-mm-dd'});
$("span#dateofbirth>form>input.inplace_field").addClass("inplace_value");
$("span#dateofbirth>form>input.inplace_field").focus();
});
實際上,它是由別人插入,使與編輯就地插件的jQuery UI的日期選擇器的工作。它似乎更像是一種黑客/創可貼。但它的工作。
我想繼續使用它,但是我想將它修改爲具有Date的任何元素更全局。
所以,我給了跨越類.datepicker
但是,這完全不是那麼回事,因爲綁定更喜歡特定的ID,定位到該元素。
是否有解決這個問題的方法,或許使用$(this)
與選擇器語句的其餘部分結合使用?
也許沿着這條線?
$("span.datepicker").bind('click', function() {
$(this+">form>input.inplace_field").blur();
});
請[我的緩存的jQuery對象的問題(http://stackoverflow.com/questions/5724400/does-using-this-instead-的,這-提供-A-性能增強)。請注意,在許多情況下,'element#id'是不必要的,因爲'#id'是所有需要的。我認爲jQuery會因性能原因而優化和放棄'span'。但是,避免重複選擇相同的選擇器(而不是緩存),並理解選擇器序列的影響,並且總體上可以獲得更好的整體性能。 –