【核心函数】
//jQuery()
$() --- 空jq
$(selector, [contextDOM]) --- 选择器
$(htmlStr, [ownerDocument|properties]) --- 选择器(临时创建不可见的DOM)
$('<div>', {
name: 'xxx',
click: f
});
$(otherObj) --- 部署jq接口
$(callback) --- $(document).ready(callback)
//暂停或恢复.ready()事件
$.holdReady(true|false)
$.holdReady(true);
$.getScript(path, function(){
$.holdReady(false);
})
【对象访问】
$.each(array|obj|jq, function(i, el){}) --- jq时建议用原型方法
.length、.size()
.selector --- 返回传给$()的selectorStr,适用插件开发
.context --- 返回传给$()的第二个参数的contextDOM,适用插件开发
.get(空|i)、[i]
.index() --- 原jq的第1个元素在同辈中的索引
.index(jq|DOM) --- 参数中的第1个元素在原jq中的索引
.index(selectorStr) --- 与上相反
【数据缓存】
//存储
.data(key, val)
.data(obj)
//访问
.data(key) --- 可访问h5的data-key
.data()
//清除
.removeData(key|keys) --- 无法清除h5的data-key
.removeDate()
【列队控制】
.queue('animation', [f1, f2, fN]) --- 新建或替换列队 --- 返回jq
.queue('animation', f) --- 新建或追加列队 --- 返回jq
.queue('animation') --- 访问eq(0)中的列队 --- 返回列队
.queue(空|'fx') --- 访问eq(0)中的jq动画列队,列队中的'inprogress'表示正在进行中
.dequeue('animation') --- 第一个出列并执行
.dequeue(空|'fx')
.clearQueue('animation') --- 清空列队
.clearQueue(空|'fx')
【扩展】
//原型扩展
$.fn.extend(obj) --- 将obj合并到$.fn
$.fn.name = val
//全局扩展
$.extend(obj) --- 将obj合并到$
$.name = val
【多库共存】
Object.defineProperty(window, 'JQ', {
value: $.noConflict(空|false) --- 让出$,返回控制权
value: $.noConflict(true) --- 让出$与jQuery,返回控制权
})
//例子
<script src='1.9.js'></script>
<script src='2.0.js'></script>
<script src='3.0.js'></script>
Object.defineProperty(window, 'JQ', {
value: $.noConflict(true)
});
$.noConflict();
3.0 --- JQ
2.0 --- jQuery
1.9 --- $