【问题标题】:Attribute value VS property value属性值 VS 属性值
【发布时间】:2015-01-31 07:29:48
【问题描述】:

我有一个带有默认值的<input> 元素。稍后,我通过 jQuery 的 input.val("different value") 更改该值。

当我 console.log() 元素时,我在 firebug 中看到了这个:

Object[input.cs_required.form-control.input-sm property value = "12/29/2014" attribute value = "12/02/2014"]
  • 为什么为输入分配了两个不同的值?
  • 什么是 属性值和属性值的区别?
  • 应该 我会担心吗?

【问题讨论】:

  • 不知道为什么它们不同,但属性是由 HTML 定义的,属性是由 DOM 定义的。
  • 我觉得有一个很好的解释here
  • 一个属性,一般来说,是一个setter(方法)和getter(方法),被“用作”作为“字段/成员”,或者在右边或左边赋值;与任何其他方法一样,它在被调用的相应方法中运行程序代码,具体取决于您是设置为还是从中获取。属性,是类型描述器。主要用于注释。

标签: javascript dom


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    差异的快速示例:

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

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

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

    您唯一需要担心的是您是否正在使用/分配/使用正确的项目 - property or attribute

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-18
      • 2011-11-06
      • 1970-01-01
      • 2015-12-15
      • 2012-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多