Я не уверен, случается ли это только со мной. В основном, если у меня есть новый элемент, добавленный на страницу с помощью YUI
var element = new YAHOO.util.Element(document.createElement('input'));
element.set('value', 'some value');
element.appendTo(document.body);
Затем я читаю значение элемента, используя эти разные способы, и получаю согласованный результат
element.get('value'); // get 'some value'
element.get('element').getAttribute('value'); // get 'some value'
element.get('element').value; // get 'some value'
// jquery as reference
jQuery(element.get('element').val()); // get 'some value'
Если я изменяю значение поля через браузер (например, «новое значение») и повторяю вышеописанные шаги снова, я получаю некоторые интересные значения
element.get('value'); // get 'some value'
element.get('element').getAttribute('value'); // get 'some value'
element.get('element').value; // get 'new value'
// jquery as reference
jQuery(element.get('element').val()); // get 'new value'
Однако, если элемент ввода уже существует на странице и в данный момент содержит пользовательский ввод -> «некоторое значение»
var element2 = new YAHOO.util.Element('some_input');
Первое чтение - тот же результат, что и в предыдущем сценарии
element.get('value'); // get 'some value'
element.get('element').getAttribute('value'); // get 'some value'
element.get('element').value; // get 'some value'
// jquery as reference
jQuery(element.get('element').val()); // get 'some value'
если пользователь вводит «новое значение» в поле ввода через браузер, то при повторении указанных выше шагов получается
element.get('value'); // get 'new value'
element.get('element').getAttribute('value'); // get 'new value'
element.get('element').value; // get 'new value'
// jquery as reference
jQuery(element.get('element').val()); // get 'new value'
Мне просто интересно, почему я получаю разные значения для динамически генерируемого элемента, если используется другой способ получения данных, или это только потому, что я делаю это неправильно?