Ответ 1
Если оба атрибута согласуются с их значениями (как и должно быть), достаточно прочитать любой из них. Я бы предложил использовать
document.documentElement.lang
Как получить атрибут lang
в HTML с помощью JavaScript?
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
Если оба атрибута согласуются с их значениями (как и должно быть), достаточно прочитать любой из них. Я бы предложил использовать
document.documentElement.lang
Просто.
document.getElementsByTagName('html')[0].getAttribute('lang');
И с пространством имен
document.getElementsByTagName('html')[0].getAttribute('xml:lang');
Обычно вопрос о том, как получить атрибут 'lang' <html> , означает "как получить объявленный язык документа". В последнем случае вы должны принять во внимание, что другие элементы могут включать атрибут "lang", а также маркировать их содержимое как написанное на другом языке. Таким образом, более полный способ получить язык точной части содержимого будет примерно таким:
var lang = $(element).closest('[lang]').attr('lang') || 'en';
В этом примере используется jQuery, но идея проста: вам нужно перемещаться по дереву DOM, пока не найдет элемент с атрибутом 'lang'.