attributes和property同步问题

attribute property是什么?
  • 什么是attribute?
    html标签的预定义和自定义属性我们统称为attribute,既图中attributes(想出现在列表里必须在html上显示声明过)
  • 什么是property?
    js原生 DOM对象的直接属性(固有属性),我们统称为property 既图中checked
    image.png
为什么要理解这个?

以checkbox 为例
由于用户操作的是 property,浏览器最终认的也是property,
使用attribute相关的接口对布尔值属性checked的操作 可能不会有 选中/取消 效果


    
    
    
    

什么是布尔值属性?
  • property的属性值为布尔类型的 我们统称为布尔值属性
  • property的属性值为非布尔类型的 我们统称为非布尔值属性
attribute和property的同步关系
  • 非布尔值属性: 实时同步
  • 布尔值属性:
    - property永远都不会同步attribute
    - 在没有动过property的情况下(html中没有书写相关属性) attribute首次会同步property
    - 在动过property的情况下 attribute不会同步property

你可能感兴趣的:(attributes和property同步问题)