En una vida anterior, podría haber hecho algo como esto:Asociar datos a un elemento DOM para jQuery
<a href="#" onclick="f(311);return false;">Click</a><br/>
<a href="#" onclick="f(412);return false;">Click</a><br/>
<a href="#" onclick="f(583);return false;">Click</a><br/>
<a href="#" onclick="f(624);return false;">Click</a><br/>
Ahora con jQuery, podría hacer algo como esto:
<a class="clicker" alt="311">Click</a><br/>
<a class="clicker" alt="412">Click</a><br/>
<a class="clicker" alt="583">Click</a><br/>
<a class="clicker" alt="624">Click</a><br/>
<script language="javascript" type="text/javascript">
$(".clicker").bind("click", function(e) {
e.preventDefault();
f($(this).attr("alt"));
});
</script>
Excepto que usar el atributo alt para pasar los datos del DOM a jQuery parece un truco, ya que ese no es su propósito. ¿Cuál es la mejor práctica aquí para almacenar/ocultar datos en el DOM para que jQuery pueda acceder?
Esto me parece frágil. Usted está dependiendo de una coherencia arbitraria en el orden entre dos colecciones diferentes: un dato, un marcado. No puedo ver usarlo en este caso. – tvanfosson
De acuerdo. Si voy a continuar en esta ruta, el complemento de metadatos parece ser el camino a seguir. – Soldarnal
¿Está asumiendo que el orden importa en este ejemplo? ¡Todos los enlaces son iguales! * Cómo * configura los datos no es realmente relevante para la pregunta, IMO. Necesitarás más contexto para responder eso: ¿están los enlaces generados, de dónde provienen los datos, quién los genera, apuntan realmente a algún lugar, etc. –