Obtenir un décalage de l'élément dans un tableau

Je ne peux pas sembler comprendre comment obtenir le décalage d'un élément dans une table. Cela fonctionne bien sur les éléments en dehors des tables, mais tous les éléments d'une table renvoient le même résultat, et c'est généralement en haut de la page. J'ai essayé ceci dans Firefox et Chrome. Comment puis-je obtenir le offsetTop d'un élément dans une table?

offsetTop renvoie une valeur relative à offsetParent ; Vous devez ajouter récursivement offsetParent.offsetTop à tous les parents jusqu'à offsetParent que offsetParent soit null . Envisager d'utiliser la méthode offset () jQuery .

EDIT : si vous ne souhaitez pas utiliser jQuery, vous pouvez écrire une méthode comme celle-ci (non testée):

 function offset(elem) { if(!elem) elem = this; var x = elem.offsetLeft; var y = elem.offsetTop; while (elem = elem.offsetParent) { x += elem.offsetLeft; y += elem.offsetTop; } return { left: x, top: y }; }