我有一個jquery函數,它發生在具有給定類的所有輸入的焦點上。除了適用時,它適用於所有與該類別相關的輸入。我如何才能將該功能應用於觸發該操作的功能?jquery選擇器:僅對當前元素應用函數
請參閱我JSFiddle
提前幫助(點擊日期的時候,所有的人都清楚。此外,如果您輸入1,其他不返回到默認提示)
非常感謝。
我有一個jquery函數,它發生在具有給定類的所有輸入的焦點上。除了適用時,它適用於所有與該類別相關的輸入。我如何才能將該功能應用於觸發該操作的功能?jquery選擇器:僅對當前元素應用函數
請參閱我JSFiddle
提前幫助(點擊日期的時候,所有的人都清楚。此外,如果您輸入1,其他不返回到默認提示)
非常感謝。
使用$(this)
$('.inputDay').focus(function() {
if ($(this).val() == "dd") {
$(this).val("").css("color", "#000000");
}
});
工作樣本:http://jsfiddle.net/sv9uZ/3/(我定的其他代碼使用也鏈接)
編輯:避免調用$(this)
每次(因爲我們使用多次),我們可以將它存儲到局部變量並使用它。感謝Mathletics提出。
$('.inputDay').focus(function() {
var item=$(this);
if (item.val() == "dd") {
item.val("").css("color", "#000000");
}
});
只要說$(this).val < - 而不是使用class。這將僅適用於當前版本
給予類名稱將適用於所有匹配的名稱。說這句話的,而不是隻適用於目前修改的一個
謝謝,這個工程! – 2012-04-26 16:56:30
看看我在那裏做了什麼! - '這個' – 2012-04-26 16:56:52
我知道這已經回答了,但通常我這樣做的時候,我店,我想在輸入的title屬性灰色的值,這樣可以讓你以減少一些代碼,做:
$(document).ready(function() {
$('.inputDay, .inputYear').focus(function(e){
$this = $(this);
$this.val() == $this.attr('title') ? $this.val('') : '';
$this.css("color", "#000");
}).blur(function(){
$this = $(this);
if(!$this.val().length){
$this.val($this.attr("title")).css("color", "#999");
}
});
$('.inputDay, .inputYear').trigger('blur');
});
這樣你就不必將函數綁定到任何特定的值,比如「dd」或「yyyy」,這樣它就可以被重用了。
非常好的解決方案。 – 2012-05-16 10:31:08
最全面的答案 – 2012-04-26 16:56:04
緩存您的選擇以獲得額外的性能! 'var $ this = $(this);' – Mathletics 2012-04-26 17:01:03
優秀評論。希望我能+2。 – 2012-04-26 17:07:38