jquery中prop jquery中prop與attr有什么不同

jQuery學(xué)習(xí)之prop和attr的區(qū)別

很明顯,attr和prop分別是單詞attribute和property的縮寫(xiě),并且它們均表示屬性的意思。不過(guò),在jQuery中,attribute和property卻是兩個(gè)不同的概念。attribute表示HTML文檔節(jié)點(diǎn)的屬性,property表示JS對(duì)象的屬性。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序設(shè)計(jì)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了池州免費(fèi)建站歡迎大家使用!

prop和attr的根本區(qū)別在于:對(duì)于HTML元素本身就帶有的固有屬性,在處理時(shí),使用prop方法。

二者都可以獲取dom的屬性,但是參數(shù)不同:attr : 獲取匹配的元素集合中的第一個(gè)元素的屬性的值 或 設(shè)置每一個(gè)匹配元素的一個(gè)或多個(gè)屬性。

相比attr,prop是1才新出來(lái)的,兩者從中文意思理解,都是獲取/設(shè)置屬性的方法(attributes和properties)。只是,window或document中使用.attr()方法在jQuery6之前不能正常運(yùn)行,因?yàn)閣indow和document中不能有attributes。

其實(shí)不然,prop 方法是 jQuery v1 才新出來(lái)的,性能要更好一些,解決了 window 或 document 無(wú)法使用 attr 方法的問(wèn)題,同時(shí)在獲取元素狀態(tài)時(shí)返回布爾值,大大方便了對(duì)狀態(tài)的判斷。

若要檢索和更改DOM屬性,比如元素的checked, selected, 或disabled狀態(tài),請(qǐng)使用.prop()方法。Attributes vs. Propertiesattributes和properties之間的差異在特定情況下是很重要。

jQuery中attr和prop在修改checked屬性時(shí)的區(qū)別

沒(méi)有太大區(qū)別。一般情況下具有 true 和 false 兩個(gè)屬性的屬性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()。以下來(lái)自網(wǎng)絡(luò),有興趣可閱讀:jQuery 6 開(kāi)始新增了一個(gè)方法 prop()。

boolean attributes,比如:checked,僅被設(shè)置成默認(rèn)值或初始值。在一個(gè)checkbox的元素中,checked attributes在頁(yè)面加載的時(shí)候就被設(shè)置,而不管checkbox元素是否被選中。properties就是瀏覽器用來(lái)記錄當(dāng)前值的東西。

屬性是一個(gè)字符串,而DOM中的checked屬性則是一個(gè)布爾值。對(duì)于布爾值屬性,最后是測(cè)試 DOM屬性而不是HTML屬性,以確??鐬g覽器的一致行為。所以,從6版本開(kāi)始,jQuery 提供了新的方法prop()來(lái)獲取這些屬性。

使用prop($.attr(checked))的話(huà)輸出則分別為false和true。property則隨其變化而變化。所以在修改checked屬性時(shí)要使用prop()。prop()在jQuery6版本后新增。

從 jQuery 6 開(kāi)始, .prop()方法 方法返回 property 的值,而.attr() 方法返回 attributes 的值。

在jquery中如何解決radio動(dòng)態(tài)控制選中失效問(wèn)題

1、最初的代碼做法是console.log($(:radio[value=+data[2]+]).attr(checked));但測(cè)試后有問(wèn)題 在分別選中男女以后 就會(huì)失效。

2、讓頁(yè)面中所有的radio可用。(input:radio).attr(disabled,false);讓頁(yè)面中所有的radio不可用。(input:radio).attr(disabled,disabled);讓某個(gè)radio置于選中狀態(tài)。

3、最近在項(xiàng)目中,遇到一個(gè)問(wèn)題,測(cè)試全選/反選功能時(shí),第一次對(duì)母框進(jìn)行選中/非選中時(shí),能同步子框的全選/反選狀態(tài),之后再點(diǎn)擊母框,子框就沒(méi)反應(yīng)了。本文就為大家?guī)?lái)一篇解決JQuery全選/反選第二次失效的問(wèn)題。

4、eq(0)).attr(checked,checked); 這樣就是第一個(gè)選中咯。jquery中,radio的選中與否是這么設(shè)置的。(#rdo1).attr(checked,checked);(#rdo1).removeAttr(checked);還有問(wèn)題hi我哦。

5、沒(méi)在radio上用過(guò)change事件,一般radio都是通過(guò)click事件處理的。如 所以我也不知道這是不是bug,但是肯定可以繞過(guò)去的。

當(dāng)前標(biāo)題:jquery中prop jquery中prop與attr有什么不同
轉(zhuǎn)載來(lái)于:http://bm7419.com/article24/dihgeje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、靜態(tài)網(wǎng)站網(wǎng)站內(nèi)鏈、外貿(mào)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、網(wǎng)站營(yíng)銷(xiāo)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)