我想为c
标记设置两个属性,即:
我尝试过:
<html>
并且:
document.documentElement.outerHTML.setAttribute("dir", "rtl");
document.documentElement.outerHTML.setAttribute("lang", "ar");
但是两个都不起作用。
之所以要这样做,是因为我正在使用JavaScript为我的网站制作多语言(阿拉伯语和英语)系统。因此,如果要选择的语言是阿拉伯语,我想设置这两个属性。
答案 0 :(得分:6)
从您的第一个示例中删除“ outerHTML”内容:
document.documentElement.setAttribute("dir", "rtl");
document.documentElement.setAttribute("lang", "ar");
或更短:
document.documentElement.dir = "rtl";
document.documentElement.lang = "ar";
答案 1 :(得分:3)
只需从第一个示例中删除outerHTML
。 document.documentElement
是指<html>
元素:
console.log(document.documentElement) //before setting attributes
document.documentElement.setAttribute("dir", "rtl");
document.documentElement.setAttribute("lang", "ar");
console.log(document.documentElement) //after setting attributes
<html></html>
答案 2 :(得分:2)
为什么不只使用querySelector
?
const html = document.querySelector('html')
html.setAttribute("dir", "rtl");
html.setAttribute("lang", "ar");