2014-12-02 3 views
0

У меня есть элемент <input>, который загружается по умолчанию. Позже я меняю это значение с помощью jQuery's input.val("different value").Значение атрибута Значение свойства VS

Когда я console.log() элемент, я вижу это в поджигатель:

Object[input.cs_required.form-control.input-sm property value = "12/29/2014" attribute value = "12/02/2014"] 
  • Почему существуют два различных значения, назначенные на вход?
  • Какова разница между значением свойства и значением атрибута ?
  • Должно ли ? Меня беспокоит?
+0

Не знаете, почему они различны, но атрибуты определяются HTML, а свойства определяются DOM. –

+0

Я думаю, что есть хорошее объяснение [здесь] (http://stackoverflow.com/questions/258469/what-is-the-difference-between-attribute-and-property) –

+0

свойство, в общем, является сеттером (метод) и getter (method), который используется как «поле/член» или в правом или левом значении assignemnt; как и любой другой метод, он выполняет процедурный код в соответствующем вызванном методе, в зависимости от того, устанавливаете ли вы или получаете. Атрибуты - это описатели типов. Используйте в основном для аннотации. –

ответ

0

Быстрый пример разницы:

jQuery('#something').val() изменяет * .value свойство. jQuery('#something').attr('value','neValue') изменяет атрибут на этом компоненте.

Существует важное различие между ними. Взгляните на это для получения дополнительной информации.

What's the difference between jQuery .val() and .attr('value')?

Единственное, что вам не придется беспокоиться о том, является ли вы используете/назначение/использование правильного пункта - property or attribute.

0

Как вы сказали, вы предоставляете значение по умолчанию через атрибут HTML value. Это будет начальное значение элемента DOM value. Изменение свойства не влияет на атрибут.

Значение атрибутов HTML часто используется как начальное значение для соответствующего свойства DOM.

Смежные вопросы