Причина, по которой они не совпадают, заключается в том, что attr('value')
получает значение атрибута value
непосредственно из исходного HTML-кода, оно не обновляется с DOM , то есть, если значениеvalue
изменяется после загрузки страницы либо пользовательским вводом (введя элемент <input>
, либо манипулируя JavaScript), эти изменения не будут отражены в возвращаемом значении .attr()
.
Лучше использовать метод .val()
объекта jQuery.
Редактировать Чтобы получить атрибут значения из элемента DOM(то есть не возвращается функцией $()
или jQuery()
) используйте метод element.getAttribute()
, который является нативным, вы можете использовать его следующим образом:
selectbox.options[selectbox.selectedIndex].getAttribute("value");