0

我是 javascript 编程的新手。我在练习 javascript 时发现了以下示例。

<html>
<head>
<script type="text/javascript">
function changeTabIndex()
  {
  document.getElementById('1').tabIndex="3"
  document.getElementById('2').tabIndex="2"
  document.getElementById('3').tabIndex="1"
  }
</script>
</head>
<body>

<p><a id="1" href="http://www.w3schools.com">1</a></p>
<p><a id="2" href="http://www.w3schools.com">2</a></p>
<p><a id="3" href="http://www.w3schools.com">3</a></p>

<input type="button" onclick="changeTabIndex()"
value="Change TabIndex" />

</body>
</html>  

我的疑问是, id 属性的命名约定必须以字母开头,后跟数字和下划线。但在这个例子中,即使他们使用数字作为 id 的代码工作正常。那么需要遵循命名约定。这似乎很简单,但请任何人澄清。

4

3 回答 3

1

大多数人会建议您不要依赖 www.w3schools.com 来获取有关 Javascript 的信息。他们的文档和示例中有很多错误。更好的信息来源是实际的 W3C 参考文档。可以在http://www.w3.org/TR/html401/struct/global.html#h-7.5.2找到有关 ID 的信息。在这种特殊情况下,您的浏览器实现根本不符合规范:)

于 2012-04-13T05:13:28.090 回答
0

根据这个HTML 中 id 属性的有效值是什么?在 HTML5 中,id 必须至少包含一个字符,并且不能包含任何空格字符。我猜您的示例可能不适用于旧版浏览器。

于 2012-04-13T05:13:29.767 回答
0

getElementById() 在 ID 属性中查找标记值,它实际上可以是“ NAME ”或“ NUMBER ”。我还没有看到规范中确切说明这一点的部分,但这就是我根据像你这样的例子解释文档的方式。这两种约定在实践中都有效,但是,我从不喜欢只使用数字 ID。使用代码中编写的$(#42) ,诸如jQuery之类的东西在实用性上有所细分。

于 2012-04-13T05:37:45.080 回答