2017-01-23 48 views
0

元素本身我有這樣獲取引起該事件的jQuery函數

<button class="btn methodDeleteBtn" name="1" value="Delete"></button> 
<button class="btn methodDeleteBtn" name="2" value="Delete"></button> 
<button class="btn methodDeleteBtn" name="3" value="Delete"></button> 
<button class="btn methodDeleteBtn" name="4" value="Delete"></button> 

按鈕和我在這裏得到了click事件。

$(document).ready(function() { 
    $(".methodDeleteBtn").click(function(){ 
     console.log("delete:"); // How to get the "name" value???? 
     } 
    ) 
}); 

如果我可以像這樣得到元素本身,我會得到名稱的值。

$(".methodDeleteBtn").click(function(e){ 
     e.name // If I can get the element itself. 
    } 

有沒有人知道解決這個問題的好方法?

+0

'this.name'或'e.target.name' –

+0

爲什麼不能在'event'傳似在你的第二個例子嗎? – tymeJV

+0

你可以使用'this'裏面的回調來選擇當前點擊的元素'$(this)' – Sojtin

回答

3

您可以使用$(this)是指觸發事件的項目。

您還應該使用這樣的newer syntax

$(".methodDeleteBtn").on('click', function(){ 
    console.log($(this).attr('name)); 
}); 

請不,如果你打算使用$(this)很多次,你應該把它存儲在一個變量,以加快速度。

像這個例子:

$(".methodDeleteBtn").on('click', function(){ 
    vat t = $(this); 
    console.log(t.attr('name)); 
    console.log(t.val()); 
    //etc. 
}); 
+0

謝謝!它非常簡單和整齊。 – whitebear

0

您可以通過此得到名稱值:

$(document).ready(function() { 
    $(".methodDeleteBtn").click(function(){ 
     var name = jQuery(this).attr('name'); 
     alert(name); 
    } 
) 
});