2009-06-04 9 views

risposta

76

Se entrambi gli attributi d'accordo sui loro valori (come dovrebbero), è sufficiente leggere una di esse. Io suggerirei usando

document.documentElement.lang 
+0

Questo recupera l'attributo 'xml: lang' o' lang'? –

+1

@KrisSelbekk: dovrebbe essere l'attributo 'lang', ma non ho fatto nulla per verificare questo ... – Christoph

18

Giusto.

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

E con lo spazio dei nomi

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

Di solito la domanda "come ottenere attributo 'lang' di <html>" significa "come ottenere lingua dichiarata del documento". Nell'ultimo caso dovresti prendere in considerazione che altri elementi possono includere l'attributo "lang" e contrassegnare il loro contenuto come scritto in una lingua diversa. modo in modo più completo per ottenere la lingua della parte esatta del contenuto sarebbe qualcosa di simile:

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

Questo esempio utilizza jQuery ma l'idea è semplice: bisogna percorrere l'albero DOM fino a trovare un elemento con ' set di attributi lang '.

+0

Questo è utile, ma non affronta la domanda, che richiede specificamente l'impostazione sul tag html. Potresti considerare di commentare questo sulla risposta accettata o sulla domanda. – RSinohara

Problemi correlati