如何动态设置HTML lang属性?

时间:2016-02-03 21:04:07

标签: javascript jquery screen-readers

如何在Web应用程序中动态设置HTML'lang'属性?

我尝试使用jQuery如下插入'lang'属性:

$(document).ready(function() {
     $("html").attr("lang", language); //'language' value is retrieved from a cookie
}); 

使用控制台/警报,“lang”属性看起来像预期的那样设置。但是,如果您看到生成的源(查看源),则“lang”根本没有设置。

要求是屏幕阅读器必须能够动态识别语言。如果有任何其他解决方案可以使屏幕阅读器动态识别语言,那将是很棒的。感谢大家的内联评论!

3 个答案:

答案 0 :(得分:8)

document.documentElement.setAttribute('lang', navigator.language);

document.documentElement.lang = navigator.language;

答案 1 :(得分:3)

  

但是如果你看到生成的源(查看源代码),那就是' lang'根本没有设定。

查看来源不会显示生成的来源。它向您展示了真正的来源。如果要更改它,则需要在将其传送到浏览器之前在服务器上进行更改。您无法使用客户端JavaScript修改它。

您的DOM更改将显示在实时DOM中,通过Inspect Element可以看到它。

答案 2 :(得分:2)

无法发表评论。

我尝试了片段,它对我有用。当然我添加了一个字符串值而不是你的'language'变量。

不要忘记在顶部菜单中导入jQuery,以使其在代码段中起作用。