jquery中attr()和prop()區(qū)別聯(lián)系

一:相同:都用于設(shè)置或獲取指定的屬性

區(qū)別:

一:操作對象不同

1:attrbiute操作htnl文檔節(jié)點(diǎn)的屬性,prop操作js對象的屬性

? ? ? 例如:<div id="aa" class="bb"></div> 這里的id class就是該元素文檔節(jié)點(diǎn)的attribute

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

2:attr()相當(dāng)于DOM中g(shù)etAttribute()和setAttribute()兩個方法

? ? ? ?prop()相當(dāng)于js原生對象中的獲取和設(shè)置屬性的方法

? ? ? 例如 ? element.setAttribute("id", 145);相當(dāng)于 ? ? ? ? ? ? ? ? ? ?$element.attr("id","145")

? ? ? ? ? ?element["name"] = "name值";相當(dāng)于$element.prop("name","name值")

3:prop某些屬性的更改也會影響到元素節(jié)點(diǎn)上對應(yīng)的屬性

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

? ?var ele=document.getelementById("htt")

? ? $(ele).attr("id") ? ?此時結(jié)果為htt

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

? console.log($(ele).attr("id")) ? ?此時元素的屬性為lzx

4:屬性值類型不同

? ? attr()設(shè)置的屬性值只能是字符串類型

? ? prop因?yàn)槭菍s對象進(jìn)行操作 所以屬性值為任意類型

5:新改變

? ? ? 對于checked ? selected ? disabled ?這些屬性的狀態(tài)用prop()獲取或者設(shè)置(值為true 或false )

? ? ?如果在之前版本中用attr()獲取或設(shè)置的話 他返回的是checked ? selected ? disabled ?且如果沒有該屬性返回undefined

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容