2011-03-03 10 views
5

He estado investigando esto durante algunas horas y no puedo entenderlo.
Estoy tratando de escribir un código para alinear encabezados de tabla y columnas de tabla,
Estoy tratando de averiguar el ancho total de la celda de encabezado y el ancho de una columna.
pero por alguna extraña razón tdOffset obtiene un valor y thOffset es NaN.jquery table offsetWidth pregunta

$("#tblTasks tbody tr:eq(0) td").each(function(index) 
{ 
    tdOffset = parseInt(this.offsetWidth); 

    thEl = $('#tblTasks thead tr:eq(0) th:eq(' + index.toString() + ')').first(); 
    thOffset = parseInt(thEl.offsetWidth); 

    alert('tdOffSet' + tdOffset + ' thOffset:' + thOffset); 
} 

¿Alguien me puede decir qué estoy haciendo mal?

Gracias y sé feliz.

Respuesta

6

La razón de que this.offsetWidth obras y thEl.offsetWidth no es que this se refiere a un elemento DOM y thEl se refiere a un objeto jQuery.

, usted puede obtener acceso al elemento DOM "detrás" thOffset haciendo las siguientes

thEl[0].offsetWidth 
+0

Gracias tanto que he pasado mucho tiempo en esto. –

+5

Una mejor práctica es poner $ en variables que son objetos jQuery. Te ayuda a hacer un seguimiento. $ el –