2

嗨,我在这个 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>

我希望它显示令牌,但它给出未定义

结果是:

欢呼!

你有:未定义

4

2 回答 2

6

属性和属性是有区别的。要获取属性,请使用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">
于 2012-09-08T04:58:40.370 回答
1

您需要使用.getAttribute('token')而不是.token,因为“token”不是有效的 HTML 属性。

<script>
document.write("You Have: ");
document.write(document.getElementById('buy').getAttribute("token"));
</script>

工作 JSFiddle:http: //jsfiddle.net/AvKbn/

于 2012-09-08T04:59:29.117 回答