對元素屬性的操作的例項方法。jquery.fn.extend();
工具方法。
jquery.extend();
例子 :
新增屬性
$('#div1').attr('title', 'dongdong');
alert($('#div1').attr('title'));
設定屬性
$('#div1').prop('title', 'dangdang');
alert($('#div1').prop('title'));
原生的js設定,
var odiv = document.getelementbyid('#div1');
odiv.setattribute*('title', 'hello');
或者使用
odiv.title = 'hg';
odiv['title'] = 'hg'; 傳參可以用這個。
這裡 attr-->setattribute
poro-->[''] 或者 .
prop 和 attr 還是有很多不一樣的地方。一般用attr用的多一些。
// 刪除
removeprop(attr); // 無法刪除id屬性,其他可以
removeattr(attr); // 可以乾掉id這種,
jquery 支援 $('input').attr('checked', true); //選中當選框。
通過hooks處理的。解決了相容,但是個人覺得還是不要這麼寫
還是用 $('input').attr('checked', 'checked'); //好一些,保持了語音話,和原生的習慣,
寫js多了,看了很多框架,最大的感覺,就是原生,框架都是衍生品。都是美麗的房子,但是在美麗,也需要原生的磚頭去蓋。
能用原生,就用原生。只要有可能,就不用框架完成。
removeattr(string); //可以傳入引數。比日 aa bb cc。那麼就字串分割,然後依次乾掉。
原始碼: attr: function( elem, name, value )
// fallback to prop when attributes are not supported
// 有些元素不支援屬性操作的時候,
// core_strundefined 是undefiend。
// $(document).attr(); document 和 window 是無法設定這種的。
// 但是,支援 obj['attr'] 這種型別的繫結。
if ( typeof elem.getattribute === core_strundefined )
// all attributes are lowercase
// grab necessary hook if one is defined
// isxmldoc 第一次見。是sizzle的方法,sizzle.isxml,判斷當前節點是不是xml下的節點,是酒返回真
if ( ntype !== 1 || !jquery.isxmldoc( elem ) )
if ( value !== undefined ) else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) else
} else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) else
},attrhooks: 鉤子機制,讓我想想到了windows,向總當時寫了乙個很牛的鉤子。看的我很心動啊。哈哈
這裡一看,就乙個set,那麼相容就是就是指針對設定。
針對功能檢測中的radio問題。 呃,具體細節不看了。。反正就是這個了。修復ie下面的bug
attrhooks:
return value;}}
} },
乾掉屬性。
removeattr: function( elem, value )
elem.removeattribute( name ); //原生的js
}} },
先存入nodetype,
然後判斷是不是xml。不是開始相容模式,是的話,進用xml的模式,不考慮相容性。
我都沒用過xml在js裡面,寫其他語言用xml做個配置檔案,做解析用。
其實xml理解為語義話的標籤就好了。實際上我感覺是解析用的。用個txt檔案也一樣可以做,
prop: function( elem, name, value )
notxml = ntype !== 1 || !jquery.isxmldoc( elem );
if ( notxml )
if ( value !== undefined ) else
},// 設定游標的切換。table建。
// html有個屬性,tabindex = 'number'; 可以改變國標的切換的順序。
// rfocusable = /^(?:input|select|textarea|button)$/i;
// 正則表示。看看事什麼框。都是可以獲取游標的節奏的節點。
prophooks:
} }
jQuery原始碼分析
工具 版本說明 版本號備註 jquery 2.1.1 sublime 3jquery function selector,context jquery.fn jquery.prototype 快速匹配正則 不加g 不光匹配整體項還會匹配到子項 rquickexpr s w w w init jque...
jquery原始碼解析
jquery 原始碼解析,參看 是jquery 3.0版本 入口jquery.js包含core.js,以及jquery的各類功能的組合,包括selector,ajax等等 然後將jquery物件匯出到全域性的jquery符號,以及 符號 確定jquery物件是個函式,這個函式生成出來的資料是物件 建...
jQuery原始碼分析
一 jquery如何做到不汙染變數名並暴露出 供使用者使用 jquery將變數和 寫進立即執行函式,通過函式來包裹所有的變數和方法,再在這個立即執行函式上將 jquery方法繫結到window上,就可以讓使用者使用到jq方法了。二 jquery是如何做到 jquery 的?function wind...