Que una perfecta razonablemente forma de hacerlo.
por lo que sería hacer como:
$('a').click(function() {
//if the element dosent change you can use this
//var src = $('img', this).attr('src');
//else use $(this)
var src = $('img', $(this)).attr('src');
alert(src);
return false;
});
Ver: http://jsfiddle.net/xYmwV/
En realidad no hay diferencia, ya que en ambos métodos se carga el elemento DOM, y buscarla. Por supuesto su camino es "más limpio" y más simple, pero podría ser más confuso :)
Una forma más rápida sería $(this).children()
ya que entonces no tendría que buscar elementos, sino que pasaría directamente a los contraseñas en el DOM. Pero elimina la flexibilidad del script.
Ambas formas funcionarían igual. No creo que sea significativo llamar a ninguno de los dos "óptimos". – Jon
Por cierto, siempre puedes usar la ciencia: http://jsperf.com/jqslctrtst –
Es cierto, son lo mismo, pero .find() es un poco más rápido que el contexto. http://jsperf.com/jquery-context-find-and-children-selectors/6 http://jsperf.com/jquery-find-vs-context-2/2 – rucsi