Gizli öğe öğesine bir HTML öğesinin adının dizesinin ilişkilendirici dizi nesnesini istiyorum.Dizi anahtarını Javascript'teki değer işlevinde kullanın?
var fieldNames2inputElements = {
'FirstName' : document.getElementsByName('FirstName')[0],
'LastName' : document.getElementsByName('LastName')[0],
...
};
... öylesine Sanki zaten bunu yapmanın daha KURU yolu olmalı bilerek, kendime başımı titriyorum. Baska öneri? Bir ilişkilendirici dizinin dize anahtarını, bu anahtarın değerinde bulunan bir şeyin parametresi olarak nasıl kullanırım?
BTW: Bu ad özniteliğine sahip gizli giriş öğelerinin kimliğine veya başka bir seçme yöntemine sahip olduğundan emin değilim.
function getByName(names) {
return names.reduce(function(ret, name) {
ret[name] = document.querySelector('input[name="'+ name +'"]');
return ret;
}, {});
}
var fieldNames2inputElements = getByName(['FirstName', 'lastName', '...']);
En azından DOM'a, performansa göre daha iyi dokunursunuz. Bu nedenle, her iki ad ve soyadı için bir tane olmak üzere yalnızca iki 'document.querySelectorAll()' işlemi yapmalısınız. Sonra Array.prototype.map.call (firstNames, c => {...}); 've sonra' lastNames' için de aynı şeyi kullanmak bu işi yapmanın bir yoludur. – Redu