十一、attr和prop的区别

attr:是`html`的属性
比如:<input type='text' name='stark'>
name就是`input`的attr

prop: 是`js`对象的属性

<input type="checkbox" name='stark'>
var stark = document.querySeletor("input[type=checkbox]");
stark.setAttribute("checked","qhf1")   // attr
stark.checked = "qhf2"  // prop

在没有动过property时候,attr会同步propserAttribute方法会同时改变prop&attr
如果动过,attr不会同步prop

1.什么是attribute,什么是property

html标签的预定义和自定义属性我们统称为attribute
js原生对象的直接属性,我们统称为property

2.什么是布尔值属性,什么是非布尔值属性

property的属性值为布尔类型的  我们统称为布尔值属性
property的属性值为非布尔类型的  我们统称为非布尔值属性

3.attribute和property的同步关系

非布尔值属性:实时同步
布尔值属性:
    property永远都不会同步attribute
    在没有动过property的情况下
        attribute会同步property
    在动过property的情况下 
        attribute不会同步property

4.用户操作的是property

5.浏览器认的是property

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。