資源描述:
《jquery源碼解讀之removeattr()方法分析_1》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識是在這次中級黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對黨的性質(zhì)、宗旨、任務(wù)等基本知識有了進(jìn)一步的了解jQuery源碼解讀之removeAttr()方法分析 這篇文章主要介紹了jQuery源碼解讀之removeAttr()方法分析,較為詳細(xì)的分析了removeAttr方法的實(shí)現(xiàn)技巧,非常具有實(shí)用價值,需要的朋友可以參考下 本文較為詳細(xì)的分析了jQuery源碼解讀之removeAttr()方法。分享給大家供大家參考。具體分析如下: 擴(kuò)展jQuery原型對象的方法: 代碼如下: jQuery.fn.extend({
2、 //name,傳入要DOM元素要移除的屬性名?! emoveAttr:function(name){ //使用jQuery.fn對象,即jQuery原型對象的each方法遍歷當(dāng)前選擇器選擇的jQuery對象數(shù)組,并返回該jQuery對象以便鏈?zhǔn)秸{(diào)用?! eturnthis.each(function(){ //調(diào)用jQuery的全局方法removeAttr,傳入遍歷出的DOM對象this和要移除的屬性名name?! Query.removeAttr(this,name); }); } });對黨的認(rèn)識也有了進(jìn)一步的提高。才真正體會到了中國
3、共產(chǎn)黨的偉大、光榮和正確,更感到只有中國共產(chǎn)黨是全中國最廣大人民利益的忠實(shí)代表我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識是在這次中級黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對黨的性質(zhì)、宗旨、任務(wù)等基本知識有了進(jìn)一步的了解 jQuery的全局方法removeAttr 代碼如下: //擴(kuò)展jQuery對象的全局方法 jQuery.extend({ //elem為遍歷出的每個DOM對象,value為要移除的屬性名?! emoveAttr:function(elem,value){ varname,propName, i=0, //rnotwhite
4、為(/S+/g) //如果value為"",則邏輯與表達(dá)式的值為null //如果value假設(shè)為"titlehref",則由于邏輯與操作符的兩個操作數(shù)都不是布爾值,則返回第二個操作數(shù),此時attrNames為["title","href"]?! ?/match是JavaScript字符串的方法,在字符串內(nèi)檢索指定的值,或找到一個或多個正則表達(dá)式的匹配,返回存放匹配結(jié)果的數(shù)組。其他類型都會報錯。 attrNames=value&&value.match(rnotwhite); //如果attrNames不為null,并且當(dāng)前DOM對象的節(jié)點(diǎn)類型為1
5、,進(jìn)入if語句塊,否則跳出函數(shù),結(jié)束本次遍歷,開始下次遍歷?! f(attrNames&&elem.nodeType===1){對黨的認(rèn)識也有了進(jìn)一步的提高。才真正體會到了中國共產(chǎn)黨的偉大、光榮和正確,更感到只有中國共產(chǎn)黨是全中國最廣大人民利益的忠實(shí)代表我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識是在這次中級黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對黨的性質(zhì)、宗旨、任務(wù)等基本知識有了進(jìn)一步的了解 //此時attrNames是個裝有要移除屬性名的數(shù)組,即["title","href"] //執(zhí)行while循環(huán),這種寫法的意思是,先從attrNames取出一個
6、元素賦值給name,i自增1,然后判斷name是否有值,有值,進(jìn)入循環(huán)執(zhí)行,執(zhí)行完畢后開始下次循環(huán),直到name無值,跳出循環(huán)?! hile((name=attrNames[i++])){ //如果屬性名與js關(guān)鍵字同名的如"for"和"class",替換為"htmlFor"和"className"。 propName=jQuery.propFix[name]
7、
8、name; //如果是布爾值屬性特別對待 if(jQuery.expr.match.bool.test(name)){ //getSetInput檢測Input元素是否支持getAttr
9、ibute("value") //getSetAttribute檢測是否支持設(shè)置駝峰命名格式的屬性名 //!ruseDefault.test(name)不區(qū)分大小寫檢測name是否是checked或者selected屬性, if(getSetInput&&getSetAttribute
10、
11、!ruseDefault.test(name)){ //移除布爾值屬性實(shí)際上是給布爾值屬性賦值為false elem[propName]=false;對黨的認(rèn)識也有了進(jìn)一步的提高。才真正體會到了中國共產(chǎn)黨的偉大、光榮和正確,更感到只有中國共產(chǎn)黨是全中國最廣大人民利
12、益的忠實(shí)代表我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識是在這