Ответ 1
Он использует базовый native element.value = 'someValue'
, который, конечно, устанавливает значение свойства элемента
element.property_to_set = 'new_value';
поэтому он не изменяет атрибут, который будет
element.setAttribute('value', 'someValue')
что делает attr()
внутренне, а prop()
изменяет свойство, точно так же, как val()
.
Причина, по которой он изменяет свойство, заключается в том, что свойство является тем, что используется в форме submit, и обычно это используется для получения значения обратно в javascript, поэтому имеет смысл придерживаться свойства, а не атрибута, поскольку атрибут обычно используется только для установки начального значения свойства, а изменение атрибута позже с помощью javascript не обновляет свойство, что будет противоположной проблемой того, что у вас есть, и это повлияет на все формы и быть серьезной проблемой.