2012-10-27 29 views
0

基本上我有一個表單,當它被提交時,我將一個類添加到空白字段以突出顯示它們被填充。如果某些元素被修改了嗎?

但是,當用戶開始填寫輸入或更改「選擇」我想刪除這個類。

這就是我想要的,我的問題是,我不知道如何選擇剛纔修改過的元素。我怎樣才能做到這一點?

$("input, select").change(function(){ 
    $('input').removeClass('highlight'); // Only affect modified element 
    }); 

回答

1

你可以使用$(this)我想:

$("input, select").change(function(){ 
    $(this).removeClass('highlight'); // Only affect modified element 
}); 
1

使用this。這是一個非常常見的jQuery成語,包含所有事件(以及許多非事件)回調。

$("input, select").change(function(){ 
    $(this).removeClass('highlight'); // Only affect modified element 
}); 

http://api.jquery.com/bind/#event-handlers

handler參數接受一個回調函數,如上所示。在處理程序中,關鍵字this引用處理程序綁定到的DOM元素。要在jQuery中使用該元素,可以將它傳遞給正常的$()函數。

0

只需使用$(this)。 jQuery方法默認使用該參數作爲事件元素。如果您只想影響input,那麼:

$(this).filter("input").removeClass(...)