2011-10-07 17 views
16

Para un nodo de texto que figura en el DOM, se puede utilizar una de estas propiedades para recuperar el texto:¿Cómo recuperar el texto de un nodo de texto DOM?

  • textContent datos
  • nodeValue
  • wholeText

¿Pero cuál usar? = Cuál es la más confiable y multi-navegador ...

(Si hay varias propiedades son 100% fiables y multi-navegador, entonces cuál sería el más adecuado?)


Actualización:

en realidad, wholeText no es una opción ya que devuelve el texto concatenado del nodo de texto y todos los nodos de texto entre hermanos ...

Respuesta

9

nodeValue debe ser es compatible con varios navegadores. It is part of the original DOM Level 2 specification.

También eche un vistazo a la compatibility table of quirksmode.org para ese asunto (eso es lo que siempre uso para ver qué propiedades son compatibles con qué navegadores).

+1

Si observa esa hoja de modo peculiar, notará que 'nodeValue' está" incompleto "en IE 5.5 mientras que' data' es totalmente compatible con ese navegador. No podría ser menos relevante, pero aún así ... ':)' –

+1

'data' también forma parte de la especificación DOM Level 2, bajo la interfaz' CharacterData'. * Ningún objeto DOM se corresponde directamente con CharacterData, aunque Text y otros heredan la interfaz de él. * (A través de: http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID- FF21A306) –

+0

@ ŠimeVidas: Sí, pero si observa la nota, verá que 'nodeValue' simplemente no funciona con * nodos de atributo * en IE 5.5, por lo que está bien para los nodos de texto. No sabía acerca de 'datos', para ser honesto;) –

1

que he tenido buenos resultados con nodeValue.

+0

Creo que iré con 'data' - es más corto y está definido específicamente para los nodos de texto ... –

+1

La brevedad es el alma del ingenio. ;) – canon

+0

He tenido buenos resultados con 'data' :). –

0

Cuando esté 100% seguro de que es un nodo de texto, puede usar cualquiera de ellos.

+4

Eso no es verdad. 'textContent' solo se introdujo en IE 9. –

+1

Ok, IE nuevamente :) –

+0

@AronWoost Mi idea es que una de ellas es la más adecuada, y quiero usarla. –

Cuestiones relacionadas