jquery中attr()和prop()区别联系

一:相同:都用于设置或获取指定的属性

区别:

一:操作对象不同

1:attrbiute操作htnl文档节点的属性,prop操作js对象的属性

      例如:<div id="aa" class="bb"></div> 这里的id class就是该元素文档节点的attribute

 obj={name:"httr",age:18,url:"http://www.365mini.com/"};这里的name age url就是对象的prop

2:attr()相当于DOM中getAttribute()和setAttribute()两个方法

       prop()相当于js原生对象中的获取和设置属性的方法

      例如   element.setAttribute("id", 145);相当于                    $element.attr("id","145")

           element["name"] = "name值";相当于$element.prop("name","name值")

3:prop某些属性的更改也会影响到元素节点上对应的属性

    例如:<div id="htt"><div>

   var ele=document.getelementById("htt")

    $(ele).attr("id")    此时结果为htt

   $(ele).prop("id","lzx")  使用prop方法修改属性

  console.log($(ele).attr("id"))    此时元素的属性为lzx

4:属性值类型不同

    attr()设置的属性值只能是字符串类型

    prop因为是对js对象进行操作 所以属性值为任意类型

5:新改变

      对于checked   selected   disabled  这些属性的状态用prop()获取或者设置(值为true 或false )

     如果在之前版本中用attr()获取或设置的话 他返回的是checked   selected   disabled  且如果没有该属性返回undefined

能够使用prop()的操作都使用prop()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容