正如任何经验丰富的JavaScript开发人员所知道的,有很多(太多)的方法可以完成相同的事情。例如,假设您有一个文本字段,如下所示:
<form name="myForm">
<input type="text" name="foo" id="foo" />
有很多方法可以在JavaScript中进行访问:
[1] document.forms[0].elements[0];
[2] document.myForm.foo;
[3] document.getElementById('foo');
[4] document.getElementById('myForm').foo;
... and so on ...
方法[1]和[3]在Mozilla Gecko文档中有详细记录,但都不是理想的方法。[1]太笼统而无用,[3]需要ID和名称(假设您将数据发布到服务器端语言)。理想情况下,最好只具有一个id属性或一个name属性(两者都有些多余,特别是如果id对于任何CSS都是不必要的,并且会增加输入错误的可能性等)。
[2]似乎是最直观的方法,并且似乎已被广泛使用,但是我还没有在Gecko文档中看到它的引用,而且我担心向前兼容性和跨浏览器兼容性(当然,我想成为尽可能符合标准)。
那么,这里的最佳实践是什么?任何人都可以指出DOM文档或W3C规范中可以解决此问题的内容吗?
注意我对非库解决方案(jQuery / Prototype)特别感兴趣。