不是一个正确的命名约定,但它工作正常,如果它有效,命名约定如何以及需要什么
not a proper naming convention but it's working fine, How and what is need of naming conventions if it works?
我是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) 对有用性进行了细分。
相关文章:
- JavaScript命名约定;静态“;类或模块
- 命名约定的Web标准
- Javascript中的变量命名约定;jQuery
- 角度模块依赖项的命名约定
- Javascript ES6 的属性和支持值命名约定
- 自定义咕噜声任务命名约定
- Laravel和变量命名约定(蛇格+骆驼格)
- JavaScript事件命名约定
- backbone.js的命名约定(在rails上)
- .NET 商店中的 JavaScript 命名约定
- 如何使用此命名约定验证表单客户端
- Requirejs、jshint 和命名约定
- Javascript 模拟命名约定
- 使用 nodejs 时的 JavaScript 命名约定
- 不是一个正确的命名约定,但它工作正常,如果它有效,命名约定如何以及需要什么
- 在html/css/javascript的命名约定中不使用连字符时
- NPM脚本命名约定
- 用于区分节点JS中模块/实例/方法变量的命名约定
- 本地变量的常规javascript jQuery命名约定是什么
- JavaScript中构造函数参数的命名约定