2012-05-14 43 views
2

我有一個按鈕如何獲得一個觸發函數的按鈕的ID?

<button onclick="DeletaItem('template','1234')" id="btn">Deletar_func</button> 

而且功能

function DeletaItem(tipo,id_cripto){ 
     alert(tipo+id_cripto); 
     alert($(this).attr('id')); 
    } 

爲什麼第二次警報是不確定的?

+4

'$(event.target).attr(「id」)'應該爲你做伎倆 – Mikey

+3

或者只是'event.target.id'。 –

回答

4

第二警報是不確定的,因爲這並不是指按鈕,它實際上指的是窗口對象。

你需要或者發送的功能,改變的onclick以下幾點:

onclick="DeletaItem(this, 'template', '1234')" 

,改變它的功能如下:

function DeletaItem(button, tipo, id_cripto) { 
    alert(tipo + id_cripto); 
    alert(button.id); 
} 

或離開的onclick爲它是和使用功能,而不是event.target

function DeletaItem(tipo, id_cripto) { 
    alert(tipo + id_cripto); 
    alert(event.target.id); 
} 
2

試試這個:

$('#btn').click(function(){ 
    alert(this.id); 
}); 

OR

<button onclick="DeletaItem(this,'template','1234')" id="btn">Deletar_func</button> 


function DeletaItem(obj,tipo,id_cripto){ 

    alert(tipo+id_cripto); 
    alert($(obj).attr('id')); 
    alert(obj.id); 
    // alert(this); if uncomment this, you will see it is eqaul window object 

} 

當函數調用onclick屬性,它不變得像第一個對象,所以你不能使用this;這裏this是窗口objectm但在第一位的,jQuery的對象將被傳遞

相關問題