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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在jquery中如何解決radio動態(tài)控制選中失效問題

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

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

3、最近在項(xiàng)目中,遇到一個問題,測試全選/反選功能時,第一次對母框進(jìn)行選中/非選中時,能同步子框的全選/反選狀態(tài),之后再點(diǎn)擊母框,子框就沒反應(yīng)了。本文就為大家?guī)硪黄鉀QJQuery全選/反選第二次失效的問題。

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

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

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

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

廣告

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

小程序開發(fā)