Bueno, suponiendo que realmente esté interesado en aprender JavaScript, la mejor práctica es esta: prefiera las pruebas por ausencia / existencia de métodos y escriba funciones de normalización. Por lo tanto, un ejemplo totalmente lamentable pero cumple tres principios:
if(!document.getElementsByClassName){
document.getByClass = function(){ //look at all elements, check for class etc...
}
else { document.getByClass = document.getElementsByClassName }
- No huela el navegador.
- También podría eliminar un poco de la migaja DOM a medida que avanza. El propósito de DOM API es ser explícito, no ser fácil en su túnel carpiano si no ha notado cuán extrañamente flexible es JS. El factor que apenas elimina es lo que hace que el ejemplo sea poco convincente.
- Caché a una nueva función. No haga la prueba del método cada vez que se llame.
La ventaja es que nunca puede confiar al 100% en el rastreo del navegador y nunca se sabe cuándo alguna otra biblioteca a la que se vinculó en realidad no agregó un método equivalente para usted.
Ya sea que solo estés tratando de hacer cosas o quieras aprender más, te recomiendo JQuery. Hace un trabajo explosivo de eliminar DOM API cruft y mantener un alto nivel de normalización multiplataforma, pero también es algo que puedes aprender bastante estudiando bajo el capó. Más importante aún, si te molestas en continuar aprendiendo realmente JS central, no se vuelve inútil como tantos otros frameworks y bibliotecas de JS y continuarás beneficiándote de poder eliminar la sopa JQuery con tu loco OOP-ish habilidades.
Además, visite quirksmode.org para comprender por qué Microsoft debe ser despreciado por todos los IE anteriores al 9 en el frente de JS y muchos detalles importantes sobre exactamente cuánto está mal con su API DOM patentada y sugerencias para solucionarlo.