如何在javascript中访问自定义html属性?

MeA*_*elf 2 html javascript

嗨我在这个HTML文档中遇到问题请帮助我

我对此很新.

我可能会因为错过一些东西而感到愚蠢.

我在这里只提供了有用的资源来解决.

<!DOCTYPE html>
<html>
  <body id="owner_profile">
    <a id="buy" owner="789" token="1000" wrapper="purchase" name="oname">Hurray!</a><br>
    <script>
      document.write("You Have: ");
      document.write(document.getElementById('buy').token);
    </script>  
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我希望它显示令牌,但它给出undefined

结果是:

欢呼!

你有:未定义

Nie*_*sol 5

属性和属性之间存在差异.要获取该属性,请使用getAttribute("token").

许多(预定义)属性映射到属性(或者反过来,我不知道).因此,例如,如果设置单元格的colSpan属性,则还会影响其colspan属性.

然而,有时两者是非常不同的.最值得注意的是,value如果您在框中键入,输入的属性将不会更改.但是value酒店会.这意味着您始终可以使用重置文本框elem.value = elem.getAttribute("value").

作为一般规则,您应该始终使用get/setAttribute更改元素属性,因为您不能依赖于那里的属性.

旁注:那些"属性"应该是数据:

<a id="buy" data-owner="789" data-token="1000" data-wrapper="purchase" name="oname">
Run Code Online (Sandbox Code Playgroud)

  • 另外,[在大多数浏览器中](https://developer.mozilla.org/en-US/docs/DOM/element.dataset)您可以直接通过“dataset”属性访问“data-”属性。例如 `document.getElementById('buy').dataset.token`。 (2认同)