不是一个正确的命名约定,但它工作正常,如果它有效,命名约定如何以及需要什么

not a proper naming convention but it's working fine, How and what is need of naming conventions if it works?

本文关键字:命名约定 有效 如果 什么 一个 工作      更新时间:2023-09-26

我是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,代码也能正常工作。那么遵循命名约定有什么需要。这似乎很简单,但任何人都可以澄清一下。

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

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

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