tag - Recuperando posición de texto de DOM
title of page html (4)
Eche un vistazo a este artículo : utiliza la propiedad offsetParent para descubrir recursivamente el desplazamiento.
Siempre recomendaría jquery sobre rodar tus propios métodos para cosas que varían en el navegador como esta. ¡Las funciones CSS de jquery parecen tener los métodos que necesitas!
¿Es posible recuperar la posición geométrica (es decir, los desplazamientos superiores / izquierdos del elemento principal, la página, etc.) de un nodo de texto?
No hay ninguna forma incorporada de navegación cruzada para hacer esto. Utilizaría jQuery con el plugin Dimensions: http://brandonaaron.net/docs/dimensions/
Es un navegador cruzado y le dará alturas, ancho y compensaciones xyy, entre otros.
No directamente. TextNode no tiene las extensiones originales de IE offset * (y similares) para medir el posicionamiento en la ventana gráfica.
Solo en IE, podría crear un objeto TextRange, tratar laboriosamente de alinearlo con los límites del TextNode, luego medir el boundingLeft / boundingTop del TextRange y agregarlo a la posición del elemento padre (obtenido por los medios habituales) . Sin embargo, este es un montón de trabajo para una solución de navegador único potencialmente inestable.
Otro enfoque con el que podría salirse con la suya sería envolver el texto en un elemento de tramo (ya sea en el documento, o de forma dinámica y / o temporal por secuencia de comandos) y usar el tramo para medir el posicionamiento, suponiendo que no capte ningún elemento adicional estilos que pueden afectar la posición. Sin embargo, tenga en cuenta que un tramo envolvente puede no dar los valores esperados derecho / inferior; dependiendo de lo que quieras hacer con él, podrías terminar envolviendo el primer y el último personaje o algún otro arreglo.
En resumen: urgh, nada bueno.
En estos días hay formas. Una forma: getBoundingRectangle: https://developer.mozilla.org/en-US/docs/Web/API/Element.getBoundingClientRect