2009-06-04 37 views

Respuesta

76

Si ambos atributos están de acuerdo en sus valores (como debe ser), es suficiente para leer cualquiera de ellos. Me gustaría sugerir el uso de

document.documentElement.lang 
+0

¿Esto trae el atributo 'xml: lang' o' lang'? –

+1

@KrisSelbekk: debería ser el atributo 'lang', pero no he hecho nada para verificar esto ... – Christoph

18

Just.

document.getElementsByTagName('html')[0].getAttribute('lang'); 

Y con el espacio de nombres

document.getElementsByTagName('html')[0].getAttribute('xml:lang'); 
2

Por lo general, la pregunta "¿cómo conseguir atributo de < html 'lang' >" significa "cómo conseguir idioma declarado del documento". En el último caso, debe tener en cuenta que otros elementos pueden incluir el atributo 'lang' y también marcar su contenido tal como está escrito en un idioma diferente. camino para más integral para obtener el lenguaje de la parte exacta del contenido sería algo como esto:

var lang = $(element).closest('[lang]').attr('lang') || 'en'; 

En este ejemplo se utiliza jQuery, pero la idea es simple: hay que viajar hasta el árbol DOM, hasta encontrar un elemento con ' conjunto de atributos lang '.

+0

Esto es útil, pero no atiende la pregunta, que solicita específicamente la configuración en la etiqueta html. Podría considerar comentar esto sobre la respuesta aceptada o la pregunta. – RSinohara

Cuestiones relacionadas