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

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

区别:

一:操作对象不同

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

      例如:

这里的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某些属性的更改也会影响到元素节点上对应的属性

    例如:

   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()

你可能感兴趣的:(jquery中attr()和prop()区别联系)