熟練した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属性のみを持つことをお勧めします(特に、CSSにidが不要であり、タイプミスの可能性が高まる場合など、両方を持つことは多少冗長です)。
[2]が最も直感的であり、広く使用されているようですが、Geckoのドキュメントで参照されていることはありません。また、上位互換性とクロスブラウザー互換性の両方が心配です(もちろん、可能な限り標準に準拠しています)。
ここでのベストプラクティスは何ですか?誰でもこれを解決できるDOMドキュメントまたはW3C仕様で何かを指すことができますか?
ライブラリ以外のソリューション(jQuery / Prototype)に特に関心があります。