摘要:簡單地說,表示標簽的屬性,而表示對象的屬性。在的在早期版本中,沒有區(qū)分出和,只有一個。在此之前,的職能只能由代為行使。官方建議,對于只有和兩個值的屬性如等,應(yīng)當使用。因此,我們還是要遵循官方的建議,該用的地方就不要再用了。
attr(全稱為attribute),prop(全稱為property),兩者都可以翻譯為屬性,為了區(qū)分二者,有些中文文檔將前者翻譯為特性,后者翻譯為屬性。簡單地說,attr表示HTML標簽的屬性,而prop表示DOM對象的屬性。二者從本質(zhì)上來說是不一樣的,但它們常常被混為一談,部分原因在于DOM對象的屬性大多與其所對應(yīng)的HTML屬性同名,比如id,href,type,但也有不同,比如DOM對象中有className屬性,而HTML標簽中有class屬性。 在jquery的在早期版本中,沒有區(qū)分出attr和prop,只有一個attr()。jQuery 1.6版本,提供了一個新的方法來獲取和設(shè)置屬性,這個方法這是prop()。在此之前,prop()的職能只能由attr()代為行使。官方建議,對于只有true和false兩個值的屬性(如checked、selected、disabled等),應(yīng)當使用prop()。如果你偏偏就不聽建議,就是要用attr(),那么讓我們看下有什么后果(此處以checked為例)。 這是HTML代碼: 這是jQuery代碼: $(function(){ $("input").change(function(){ console.log($(this).attr("checked")); console.log($(this).prop("checked")); }); }); 在不同的jquery版本下,有不同的輸出結(jié)果,如下面的表格所示:
分析: 從上面可以看出,1.6版本之前,使用attr()能得到正確的結(jié)果,而使用prop()會返回類型錯誤(因為該方法還沒有被定義);從1.6.0版本起,attr()得到的結(jié)果都不符合預(yù)期,而使用prop()可以得到正確的結(jié)果??梢院唵蔚乩斫鉃?,從1.6.0版本起,attr()讓出了那些本不屬于自己的權(quán)力,而prop()獲得了它的權(quán)力(這就像古代的攝政王要在皇帝大婚之后將皇權(quán)交回皇帝手中一樣)。因此,我們還是要遵循官方的建議,該用prop()的地方就不要再用attr()了。 總結(jié): 應(yīng)該用prop()獲取的屬性如下:async,autofocus,checked,location,multiple,readOnly,selected。 本文中部分觀點為個人理解,不當之處,敬請批評指正 參考文檔:http://api.jquery.com/prop/
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/91284.html
摘要:但非常不幸,并不原生支持。這個單詞相信都很熟悉,高階函數(shù)在函數(shù)式編程是一個基本概念,它描述的是這樣一種函數(shù),接受函數(shù)作為輸入,或是輸出一個函數(shù)。比如常用的工具方法都是高階函數(shù)。恰與的定義完全一致。這種不同很可能會導致問題的產(chǎn)生。 在 React component 構(gòu)建過程中,常常有這樣的場景,有一類功能要被不同的 Component 公用,然后看得到文檔經(jīng)常提到 Mixin(混入) ...
摘要:前言我是,如果你還不認識我,不妨先看看技術(shù)的前世今生一平靜的生活已經(jīng)有一段日子了。傳送門技術(shù)的前世今生一技術(shù)的前世今生三 前言:我是JavaScript,如果你還不認識我,不妨先看看《Web技術(shù)的前世今生(一)》 平靜的生活已經(jīng)有一段日子了。 這一天,HTML大哥面露不悅地走過來問我: Js,你是打算和我們分家嗎? 大哥,您這說的哪里話,我什么地方做的不對么?我一臉茫然地回答道。 哼,...
摘要:前言我是,如果你還不認識我,不妨先看看技術(shù)的前世今生一平靜的生活已經(jīng)有一段日子了。傳送門技術(shù)的前世今生一技術(shù)的前世今生三 前言:我是JavaScript,如果你還不認識我,不妨先看看《Web技術(shù)的前世今生(一)》 平靜的生活已經(jīng)有一段日子了。 這一天,HTML大哥面露不悅地走過來問我: Js,你是打算和我們分家嗎? 大哥,您這說的哪里話,我什么地方做的不對么?我一臉茫然地回答道。 哼,...
摘要:前言我是,如果你還不認識我,不妨先看看技術(shù)的前世今生一平靜的生活已經(jīng)有一段日子了。傳送門技術(shù)的前世今生一技術(shù)的前世今生三 前言:我是JavaScript,如果你還不認識我,不妨先看看《Web技術(shù)的前世今生(一)》 平靜的生活已經(jīng)有一段日子了。 這一天,HTML大哥面露不悅地走過來問我: Js,你是打算和我們分家嗎? 大哥,您這說的哪里話,我什么地方做的不對么?我一臉茫然地回答道。 哼,...
摘要:前言我是,如果你還不認識我,不妨先看看技術(shù)的前世今生一,以及技術(shù)的前世今生二前面我提過,我的大哥有一個叫的死黨,這家伙有事沒事經(jīng)常上我們家串門。時間來到了年,在那前后發(fā)生了兩件事讓我印象深刻。傳送門技術(shù)的前世今生一技術(shù)的前世今生二 前言:我是JavaScript,如果你還不認識我,不妨先看看《Web技術(shù)的前世今生(一)》,以及《Web技術(shù)的前世今生(二)》 前面我提過,我的大哥HTML...
閱讀 3942·2021-11-24 09:38
閱讀 3135·2021-11-17 09:33
閱讀 3902·2021-11-10 11:48
閱讀 1270·2021-10-14 09:48
閱讀 3156·2019-08-30 13:14
閱讀 2576·2019-08-29 18:37
閱讀 3425·2019-08-29 12:38
閱讀 1442·2019-08-29 12:30