中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

jQuery源碼解讀之removeAttr()方法分析
來源:易賢網 閱讀:1164 次 日期:2015-03-16 17:01:08
溫馨提示:易賢網小編為您整理了“jQuery源碼解讀之removeAttr()方法分析”,方便廣大網友查閱!

這篇文章主要介紹了jQuery源碼解讀之removeAttr()方法分析,較為詳細的分析了removeAttr方法的實現技巧,非常具有實用價值,需要的朋友可以參考下

本文較為詳細的分析了jQuery源碼解讀之removeAttr()方法。分享給大家供大家參考。具體分析如下:

擴展jQuery原型對象的方法:

代碼如下:

jQuery.fn.extend({

//name,傳入要DOM元素要移除的屬性名。

removeAttr: function( name ) {

//使用jQuery.fn對象,即jQuery原型對象的each方法遍歷當前選擇器選擇的jQuery對象數組,并返回該jQuery對象以便鏈式調用。

return this.each(function() {

//調用jQuery的全局方法removeAttr,傳入遍歷出的DOM對象this和要移除的屬性名name。

jQuery.removeAttr( this, name );

});

}

});

jQuery的全局方法removeAttr

代碼如下:

//擴展jQuery對象的全局方法

jQuery.extend({

//elem為遍歷出的每個DOM對象,value為要移除的屬性名。

removeAttr: function( elem, value ) {

var name, propName,

i = 0,

//rnotwhite為(/\S+/g)

//如果value為" ",則邏輯與表達式的值為null

//如果value假設為"title href",則由于邏輯與操作符的兩個操作數都不是布爾值,則返回第二個操作數,此時attrNames為["title", "href"]。

//match是JavaScript字符串的方法,在字符串內檢索指定的值,或找到一個或多個正則表達式的匹配,返回存放匹配結果的數組。其他類型都會報錯。

attrNames = value && value.match( rnotwhite );

//如果attrNames不為null,并且當前DOM對象的節點類型為1,進入if語句塊,否則跳出函數,結束本次遍歷,開始下次遍歷。

if ( attrNames && elem.nodeType === 1 ) {

//此時attrNames是個裝有要移除屬性名的數組,即["title", "href"]

//執行while循環,這種寫法的意思是,先從attrNames取出一個元素賦值給name, i自增1,然后判斷name是否有值,有值,進入循環執行,執行完畢后開始下次循環,直到name無值,跳出循環。

while ( (name = attrNames[i++]) ) {

//如果屬性名與js關鍵字同名的如"for"和"class",替換為"htmlFor"和"className"。

propName = jQuery.propFix[ name ] || name;

//如果是布爾值屬性特別對待

if ( jQuery.expr.match.bool.test( name ) ) {

//getSetInput檢測Input元素是否支持getAttribute("value")

//getSetAttribute檢測是否支持設置駝峰命名格式的屬性名

//!ruseDefault.test( name )不區分大小寫檢測name是否是checked或者selected屬性,

if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) {

//移除布爾值屬性實際上是給布爾值屬性賦值為false

elem[ propName ] = false;

} else {

//支持ie9以下

//將"default-checked"這種屬性轉換為"defaultChecked",并賦值false

elem[ jQuery.camelCase( "default-" + name ) ] =

elem[ propName ] = false;

}

} else {

//如果不是布爾值屬性,調用jQuery的全局attr方法設置屬性

jQuery.attr( elem, name, "" );

}

//getSetAttribute用來測試setAttribute是否支持設置駝峰命名形式的屬性名,如果可以,在使用setAttribute和getAttribute時,需要使用修正后的屬性名。(兼容ie6/7)

//如果getSetAttibute等于false,說明不支持,則使用修正后的屬性名,支持,使用原始的屬性名。

//調用DOM原生的removeAttribute方法,移除屬性

elem.removeAttribute( getSetAttribute ? name : propName );

}

}

}

});

關鍵字屬性修正

代碼如下:

jQuery.extend({

propFix: {

"for": "htmlFor",

"class": "className"

}

});

jQuery.extend({

camelCase: function( string ) {

return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );

}

});

var nodeHook, boolHook,

attrHandle = jQuery.expr.attrHandle,

ruseDefault = /^(?:checked|selected)$/i,

getSetAttribute = support.getSetAttribute,

getSetInput = support.input;

// Setup

div = document.createElement( "div" );

div.setAttribute( "className", "t" );

div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";

a = div.getElementsByTagName("a")[ 0 ];

// First batch of tests.

select = document.createElement("select");

opt = select.appendChild( document.createElement("option") );

input = div.getElementsByTagName("input")[ 0 ];

a.style.cssText = "top:1px";

// Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)

support.getSetAttribute = div.className !== "t";

檢測input是否支持getAttribute("value")

代碼如下:

// Support: IE8 only

// Check if we can trust getAttribute("value")

input = document.createElement( "input" );

input.setAttribute( "value", "" );

support.input = input.getAttribute( "value" ) === "";

檢測是否布爾值屬性

代碼如下:

booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",

matchExpr = {

"bool": new RegExp( "^(?:" + booleans + ")$", "i" )

},

希望本文所述對大家的jQuery程序設計有所幫助。

更多信息請查看IT技術專欄

更多信息請查看腳本欄目
易賢網手機網站地址:jQuery源碼解讀之removeAttr()方法分析
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲欧美在线免费观看| 亚洲天堂免费观看| 欧美一区影院| 午夜久久久久久| 亚洲少妇一区| 日韩小视频在线观看专区| 久久人人看视频| 欧美成人按摩| 欧美日韩在线一区| 国产精品一二三| 欧美国产精品人人做人人爱| 欧美暴力喷水在线| 欧美日韩爆操| 国产中文一区二区| 99精品国产在热久久婷婷| 日韩视频中文| 欧美在线你懂的| 欧美劲爆第一页| 国产精品久久久久影院亚瑟| 国产亚洲一二三区| 一区二区三区视频观看| 久久精品国产亚洲aⅴ| 欧美日韩视频在线| 一区二区三区在线视频播放| 亚洲深夜激情| 欧美成人有码| 韩国av一区二区三区四区| 一本色道久久加勒比精品| 久久国内精品自在自线400部| 免费不卡视频| 1000部国产精品成人观看 | 欧美黄色日本| 欧美午夜电影网| 亚洲欧洲一区| 欧美3dxxxxhd| 亚洲黄色免费| 欧美日韩综合不卡| 亚洲五月六月| 欧美性做爰毛片| 一区二区电影免费在线观看| 欧美日本亚洲| 久久久久久久成人| 亚洲国产岛国毛片在线| 欧美另类99xxxxx| 午夜精品久久久久久久| 国产区在线观看成人精品| 久久精品免费看| 亚洲美女在线看| 国产女同一区二区| 欧美激情1区2区3区| 亚洲制服av| 99精品视频免费观看| 国产综合一区二区| 欧美日韩综合一区| 久久人人爽国产| 欧美在线一二三四区| 亚洲九九爱视频| 黑人巨大精品欧美一区二区| 欧美日韩一区二区三区免费看| 欧美在线高清视频| 在线视频精品一区| 亚洲免费久久| 亚洲美女啪啪| 亚洲精品少妇30p| 国内外成人免费激情在线视频| 国产一区av在线| 国产伦精品一区二区三区免费| 久久人人精品| 久久亚洲私人国产精品va| 在线一区二区三区四区| 亚洲国产三级| 99精品热6080yy久久| 亚洲图片在区色| 久久综合久久美利坚合众国| 国产美女一区二区| 欧美成人中文| 亚洲欧美日韩成人| 夜夜躁日日躁狠狠久久88av| 99国产一区二区三精品乱码| 91久久精品美女高潮| 雨宫琴音一区二区在线| 韩国av一区二区三区| 亚洲第一色中文字幕| 亚洲片在线观看| 亚洲一区免费视频| 亚洲在线观看免费视频| 亚洲一区二区在线看| 亚洲欧美日韩一区在线| 欧美亚洲在线| 久久婷婷综合激情| 欧美日韩亚洲视频| 欧美日韩四区| 国产中文一区二区| 亚洲小说区图片区| 美女视频黄 久久| 国产精品成人一区二区网站软件| 国产欧美日韩综合精品二区| 亚洲激情第一页| 久久久激情视频| 精品91免费| 久久久99国产精品免费| 国产香蕉97碰碰久久人人| 亚洲另类春色国产| 久久人人爽人人爽| 狠狠综合久久av一区二区小说| 亚洲精品黄网在线观看| 久久久久久久久蜜桃| 欧美视频在线观看 亚洲欧| 久久精品色图| 欧美激情综合色| 99精品免费视频| 欧美人与禽性xxxxx杂性| 好吊日精品视频| 午夜精品久久久久久久99樱桃| 久久网站免费| 依依成人综合视频| 日韩视频一区二区在线观看 | 欧美日韩中文字幕在线| 久久电影一区| 免费亚洲电影| 极品少妇一区二区| 最新国产乱人伦偷精品免费网站 | 国产精品一二三四区| 韩国一区电影| 亚洲二区视频在线| 久久精品二区三区| 韩日欧美一区二区三区| 欧美一级一区| 国产色爱av资源综合区| 亚洲女人天堂成人av在线| 欧美日韩精品二区| 亚洲视频国产视频| 欧美成人一区二区三区| 亚洲麻豆一区| 欧美91视频| 亚洲久久一区| 欧美日韩在线观看一区二区| av成人免费| 国产午夜亚洲精品理论片色戒| 亚洲自拍电影| 精久久久久久久久久久| 美女久久一区| 99亚洲视频| 国内久久视频| 欧美日韩一区精品| 久久精品二区亚洲w码| 亚洲精品一二区| 国产日韩欧美一区| 欧美成人影音| 欧美在线视频不卡| 国产一区视频网站| 国产精品高精视频免费| 玖玖玖国产精品| 国产精品爱久久久久久久| 亚洲欧美影音先锋| 亚洲高清av在线| 亚洲午夜女主播在线直播| 国产一区免费视频| 国产精品区一区二区三| 欧美日韩成人综合| 午夜国产一区| 午夜久久久久久| 午夜精品久久久久久久久久久久久| 一本大道av伊人久久综合| 亚洲大胆人体视频| 国产日韩欧美中文| 久久夜色精品国产欧美乱| 亚洲专区一区| 亚洲一区在线视频| 亚洲三级性片| 一本高清dvd不卡在线观看| 一区二区日韩伦理片| 亚洲综合99| 亚洲一区二区三区在线看| 一区二区三区国产| 欧美在线1区| 欧美精品一区二区三区蜜臀| 一区二区日韩免费看| 亚洲欧美日韩一区在线观看| 久久精品国产亚洲一区二区| 久久视频一区| 欧美劲爆第一页| 国产精品夜色7777狼人| 欧美在线视频在线播放完整版免费观看| 亚洲巨乳在线| 久久爱91午夜羞羞| 欧美久久久久| 99国内精品久久| 欧美片第1页综合| 久久噜噜亚洲综合| 亚洲精品日日夜夜| 99国产一区| 久久九九有精品国产23| 久久成人免费| 国产欧美日韩激情| 亚洲高清自拍| 在线观看福利一区| 香蕉久久国产| 国产日韩精品一区二区| 永久久久久久|