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