2014-12-02 181 views
0

我有一个加载了默认值的<input>元素。稍后,我通过jQuery的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定义。 – 2014-12-02 22:01:21

+0

我觉得有一个很好的解释[这里](http://stackoverflow.com/questions/258469/what-is-the-difference-between-attribute-and-property) – 2014-12-02 22:01:42

+0

属性,一般来说,是一个setter (方法)和getter(方法),它被'用作'字段/成员',或在右侧或左侧值分配;像任何其他方法一样,它会在被调用的相应方法中运行过程代码,具体取决于您是设置还是从中获取。属性是类型描述符。主要用于注释。 – 2014-12-02 22:14:22

回答

0

简单的例子:

jQuery('#something').val()改变* .Value属性。 jQuery('#something').attr('value','neValue')更改该组件上的属性。

这两者之间有一个重要的区别。看看这个更多的信息。

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

你担心的唯一的事情是你是否正在使用/分配/利用正确的项目 - property or attribute

0

如您所说,您通过valueHTML属性提供默认值。这将是DOM元素的初始值value属性。更改properry不会影响该属性。

HTML属性的值通常用作相应DOM属性的初始值。