Seperti yang diketahui oleh setiap pengembang JavaScript berpengalaman, ada banyak (terlalu banyak) cara untuk melakukan hal yang sama. Misalnya, Anda memiliki bidang teks sebagai berikut:
<form name="myForm">
<input type="text" name="foo" id="foo" />
Ada banyak cara untuk mengakses ini di JavaScript:
[1] document.forms[0].elements[0];
[2] document.myForm.foo;
[3] document.getElementById('foo');
[4] document.getElementById('myForm').foo;
... and so on ...
Metode [1] dan [3] didokumentasikan dengan baik di dokumentasi Mozilla Gecko, tetapi keduanya tidak ideal. [1] terlalu umum untuk digunakan dan [3] membutuhkan id dan nama (dengan asumsi Anda akan memposting data ke bahasa sisi server). Idealnya, akan lebih baik jika hanya memiliki atribut id atau atribut nama (memiliki keduanya agak berlebihan, terutama jika id tidak diperlukan untuk css apa pun, dan meningkatkan kemungkinan salah ketik, dll).
[2] tampaknya yang paling intuitif dan tampaknya digunakan secara luas, tetapi saya belum melihatnya direferensikan dalam dokumentasi Gecko dan saya khawatir tentang kompatibilitas ke depan dan kompatibilitas lintas browser (dan tentu saja saya ingin menjadi sesuai standar mungkin).
Jadi apa praktik terbaik di sini? Adakah yang bisa menunjukkan sesuatu dalam dokumentasi DOM atau spesifikasi W3C yang dapat menyelesaikan masalah ini?
Catatan Saya secara khusus tertarik pada solusi non-perpustakaan (jQuery / Prototype).