Элемент .value
является на самом деле установщиком / получателем.Когда следующее
document.getElementById( id ).value
оценивается как выражение (как в $
, где вы пытаетесь его вернуть), а не назначается, вызывается метод полученияи это оценивает примитив.Итак, интерпретатору:
return document.getElementById( id ).value;
превращается во что-то вроде
return 'someValue';
Итак, когда вызывается $
, возвращается некоторая строка, но так же, как
'someValue' = 'newValue'
не работает, не работает
$("foo") = 'newValue';
Для того, что вы пытаетесь сделать, чтобы работать, вам придется вызвать установщик, назначив .value
свойство .Как только .value
был оценен как выражение (например, справа от return
), вы уже вызвали метод получения.
Один из возможных методов вызова метода установки:
const set$ = (id, newVal) => {
document.getElementById(id).value = newVal;
};
set$('foo', 'myNewVal');