您好我在这个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>
我希望它显示令牌,但它给出未定义的
结果是:
乌拉!
你有:未定义
答案 0 :(得分: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">
答案 1 :(得分:1)
您需要使用.getAttribute('token')
代替.token
,因为“令牌”不是有效的HTML属性。
<script>
document.write("You Have: ");
document.write(document.getElementById('buy').getAttribute("token"));
</script>
使用JSFiddle:http://jsfiddle.net/AvKbn/