向DOM元素添加变量

Kry*_*lar 11 javascript dom

我想问一下,如果将"自定义变量"添加到文档正文元素是"合法的".例如:

document.getElementById('elem1').customVariable = 'xxx';
Run Code Online (Sandbox Code Playgroud)

这段代码正常工作,但我不知道它是否"允许"

它不会出现在标记参数列表中,但变量可用于更多代码中.

Ada*_*kis 10

我认为这会有效,但更常见的添加自定义属性的方法是这样的:

<div id="elem1" data-customVariable="foo"
Run Code Online (Sandbox Code Playgroud)

然后

document.getElementById('elem1').setAttribute("data-customVariable", "bar");
Run Code Online (Sandbox Code Playgroud)

或者如果旧版浏览器出现问题 setAttribute

document.getElementById('elem1')["data-customVariable"] ="bar";
Run Code Online (Sandbox Code Playgroud)

编辑

感谢pimvdb指出你也可以做到

document.getElementById('elem1').dataset.customVariable ="bar";
Run Code Online (Sandbox Code Playgroud)

请注意,你必须注意你的名字 - 骆驼外壳可以把它扔掉.你想要的

<div id="elem1" data-custom-variable="xxx"></div>
Run Code Online (Sandbox Code Playgroud)

  • 使用`data -`属性也可以使用`elem.dataset.customVariable` - 可能更清晰. (2认同)