使用纯JavaScript设置标签的属性

时间:2019-01-28 15:15:14

标签: javascript html

我想为c标记设置两个属性,即:

  • dir:rtl
  • lang:ar

我尝试过:

<html>

并且:

    document.documentElement.outerHTML.setAttribute("dir", "rtl");
    document.documentElement.outerHTML.setAttribute("lang", "ar");

但是两个都不起作用。

之所以要这样做,是因为我正在使用JavaScript为我的网站制作多语言(阿拉伯语和英语)系统。因此,如果要选择的语言是阿拉伯语,我想设置这两个属性。

3 个答案:

答案 0 :(得分:6)

从您的第一个示例中删除“ outerHTML”内容:

document.documentElement.setAttribute("dir", "rtl");
document.documentElement.setAttribute("lang", "ar");

或更短:

document.documentElement.dir = "rtl";
document.documentElement.lang = "ar";

答案 1 :(得分:3)

只需从第一个示例中删除outerHTMLdocument.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");