Dentro del controlador de eventos, this
se refiere al elemento cliqueado. Sin embargo, dentro de la función a la que llama desde el controlador de eventos, que es Save
, this
se referirá a la ventana.
Puede establecer explícitamente lo this
debe hacer referencia a dentro Save
través call
[MDN] (o apply
):
onclick="Save.call(this, event || window.event);"
entonces usted puede usarlo dentro de la función como $(this)
:
function Save(event) {
// `this` refers to the clicked element
// `$(this)` is a jQuery object
// `event` is the Event object
};
Pero como está utilizando jQuery, realmente debería hacer
$('.save-button').click(Save);
para vincular el controlador de eventos. Mezclar marcado con lógica no es un buen estilo. Debe separar la presentación de la lógica de la aplicación.
O si quieres Save
para aceptar un elemento como parámetro, a continuación, sólo tiene que pasar que:
onclick="Save(this);"
y con jQuery:
$('.save-button').click(function() {
Save(this);
});
Más información si desea una respuesta más clara, pero si el método Save() está vinculado a su evento click entonces yes $ (this) funcionará. –
Responde tu propia pregunta. Esto se referirá al elemento al que se hizo clic inicialmente. –