如何在Web应用程序中动态设置HTML'lang'属性?
我尝试使用jQuery如下插入'lang'属性:
$(document).ready(function() {
$("html").attr("lang", language); //'language' value is retrieved from a cookie
});
使用控制台/警报,“lang”属性看起来像预期的那样设置。但是,如果您看到生成的源(查看源),则“lang”根本没有设置。
要求是屏幕阅读器必须能够动态识别语言。如果有任何其他解决方案可以使屏幕阅读器动态识别语言,那将是很棒的。感谢大家的内联评论!
答案 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,以使其在代码段中起作用。