ボタンがあります
<button onclick="DeletaItem('template','1234')" id="btn">Deletar_func</button>
そして機能
function DeletaItem(tipo,id_cripto){
alert(tipo+id_cripto);
alert($(this).attr('id'));
}
2 番目のアラートが定義されていないのはなぜですか?
ボタンがあります
<button onclick="DeletaItem('template','1234')" id="btn">Deletar_func</button>
そして機能
function DeletaItem(tipo,id_cripto){
alert(tipo+id_cripto);
alert($(this).attr('id'));
}
2 番目のアラートが定義されていないのはなぜですか?
2 番目のアラートは未定義です。これはボタンではなく、実際にはウィンドウオブジェクトを参照しているためです。
これを関数に送信するか、onclick を次のように変更する必要があります。
onclick="DeletaItem(this, 'template', '1234')"
また、関数を次のように変更します。
function DeletaItem(button, tipo, id_cripto) {
alert(tipo + id_cripto);
alert(button.id);
}
または onclick をそのままにして、関数内でthisの代わりにevent.targetを使用します。
function DeletaItem(tipo, id_cripto) {
alert(tipo + id_cripto);
alert(event.target.id);
}
これを試して:
$('#btn').click(function(){
alert(this.id);
});
また
<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
がウィンドウオブジェクトですが、最初のオブジェクトでは、jQueryオブジェクトが渡されます