2017-03-31 2 views
0

J'ai tant de scripts qui commencent comme ça (normalement après un événement DOMContentLoaded):Obtenir certains éléments dans une variable avec le même nom que l'ID sans écrire getElementByID plusieurs fois?

mythis  = document.getElementById("mythis"); 
mythat  = document.getElementById("mythat"); 
naming  = document.getElementById("naming"); 
isdev  = document.getElementById("isdev"); 
easier  = document.getElementById("easier"); 
remember = document.getElementById("remember"); 
your  = document.getElementById("your"); 
stuff  = document.getElementById("stuff"); 

Mais il est un code si pléthorique. Je me suis donc demandé s'il n'y avait pas un moyen plus simple sans utiliser eval(). Cela peut être considéré comme utilisant les avantages de 'named access on the window object' (explained here) (standard dans certains navigateurs), mais plus sûr et uniquement pour votre choix de variables.

Répondre

1
["mythis","mythat","naming","isdev","easier","remember","your","stuff"].forEach(s=>{ 
     window[s]=document.getElementById(s) 
    })