Valor de atributo en línea de Jquery

¿Puedo obtener algunas sugerencias? ¿Tienes una mejor manera de hacer esto?

La mayoría de las veces, cuando tengo un grupo de entrada de datos en la tabla Html, siempre nivelo datos como una identificación de referencia como "student_id" o "country_id" a la estructura principal como o,

por ejemplo

<tr student_id="1" subject_id="2" school_id="5" country_id="6">
 <td></td>
 <td></td>
 <td></td>
 <td></td>
  .....
  ......
</tr>
....
.....

<tr student_id="43" subject_id="35" school_id="22" country_id="411">
 <td></td>
 <td></td>
 <td></td>
 <td></td>
  .....
  ......
</tr>
....
.....

cuando llamo a la función javascript puedo obtener y obtener esa identificación en función

var tr  = $(this).closest('tr');
var student_id =  $(this).attr('student_id');
var subject_id =  $(this).attr('subject_id');
var school_id =  $(this).attr('school_id');
.......

¿Tienes una mejor manera de almacenar este tipo de referencia? Gracias.

preguntado el 28 de agosto de 12 a las 08:08

1 Respuestas

Programas de HTML5 forma de hacer esto que es retrocompatible con navegadores antiguos y tiene soporte específico en jQuery es con data-xxx los atributos.

<tr data-student_id="43" data-subject_id="35" data-school_id="22" data-country_id="411">

var tr  = $(this).closest('tr');
var student_id = tr.data('student_id');
var subject_id = tr.data('subject_id');
var school_id = tr.data('school_id');

Una de las razones detrás de hacerlo de esta manera en HTML5 es que coloca todos los atributos de datos personalizados en el "data-" espacio de nombres que se garantiza que nunca entrará en conflicto con futuros atributos estándar que podrían definirse en cualquier etiqueta HTML. En jQuery, también lo unifica con el método .data() para almacenar datos por objeto.

Tenga en cuenta que al usar jQuery's .data(key) método, también intenta convertir los datos a un tipo de javascript nativo, por lo que en su caso anterior, convertiría esos valores en números automáticamente.

Respondido 28 ago 12, 08:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.