一.解決多庫共存的問題
var aa=jQuery.noConflict()運行這個函數(shù)將變量$的控制權(quán)讓渡給第一個實現(xiàn)它的那個庫
(function($){
alert($);
})(jQuery)
二.選擇器
1. ul li ul下的所有l(wèi)i
2. ul>li 直屬子元素
3. + 下一個兄弟元素 不包含當(dāng)前元素
4. ~ 當(dāng)前元素后的所有兄弟元素 不包含當(dāng)前元素
5.:even()獲取出的是奇數(shù)行 偶數(shù)索引值
6:odd()獲取出的是偶數(shù)行 奇數(shù)索引值
7:nth-of-type();
8:only-child() 只能有唯一一個
9:hidden 匹配所有不可見元素
10:visible 匹配出所有的可見元素
三:方法
trigger() 在每一個匹配的元素上觸發(fā)某類事件。并且會執(zhí)行瀏覽器默認操作
triggerHandler()方法可以觸發(fā)元素的特定事件,同時取消瀏覽器對此事件的默認操作
hover() 合成事件 由mouseenter與mouseleave 最多有倆次事件處理程序
toggle() 合成事件 至少有倆次事件處理程序
mouseenter與mouseleave 不會冒泡的父元素
mouseover 和 mouseout 會冒泡
:empty() 匹配空元素
addClass('類名不用添加點') 添加類
slideDown() 向下展開
slideUp() 向上收起
filter() 在同級篩選
is(判斷是否有class名要加點) 至少有一個元素符合這個給定的表達式就返回true杆融,如果沒有元素符號,或者表達式無效玄货,都返回false
hassClass("類名不用加點") 檢查當(dāng)前的元素是否含有某個特定的類考榨,如果有双霍,則返回true
parent() 找上一級的父元素 僅限于使用倆次 不能過多使用不優(yōu)化
parents() 找祖先元素
closest() 返回最近的匹配元素
children() 找下一級的子元素
find() 找祖孫元素
next() 當(dāng)前元素的下一個兄弟
nextAll() 當(dāng)前元素的后的所有兄弟
prev() 當(dāng)前元素上一個兄弟
prevAll() 當(dāng)前元素的前的所有兄弟
siblings() 除了自己其他所有的兄弟
toggleClass() 切換類 有就刪除沒有添加
toggle() 切換顯示隱藏
end() 將匹配的元素列表變?yōu)榍耙淮蔚臓顟B(tài) 回到最近的一個"破壞性"操作之前 鏈式操作
data() 只獲取帶有data屬性的元素
innerWidth() 獲取元素本身的寬+padding(填充)
outerWidth() 獲取元素本身的寬+padding(填充)+border
outerWidth(true) 獲取元素本身的寬+padding(填充)+border+boeder+margin
slice(start,end) 可以截一個集合
size() jQuery size() js與length一樣
has() 從元素集合中查找含有指定子元素的元素。
內(nèi)部插入
父元素.append(子元素) 向父元素內(nèi)容的尾部追加
子元素.appendTo(父元素)
父元素.prepend(子元素) 向父元素內(nèi)容的前面追加
子元素.prependTo(父元素)
包裹
.wrap() 把所有匹配的元素用其他元素的結(jié)構(gòu)化標記包裹起來
.unwrap() 取消包裹
.wrapAll() 把匹配到的每一個元素用一個標簽包裹起來
.wrapInner() 把每一個匹配的元素的子內(nèi)容用一個標簽包裹起來
刪除
.empty() 清空一個元素保留本身 刪除匹配的元素集合中所有的子節(jié)點挪钓。
.remove() 刪除一個元素
克隆
clone() 復(fù)制一個元素true表示復(fù)制子元素 false表示只復(fù)制結(jié)構(gòu)
四:attr和prop
一個值表示獲取屬性是越,倆個值表示設(shè)置屬性
對與html元素自定義屬性用attr來獲取設(shè)置,但是id class src href..這些屬性也用attr來獲取更好
對于html元素固有屬性用prop來獲取或設(shè)置,但是用prop來設(shè)置返回布爾值的元素更好一些
五: each
$.each()用于遍歷數(shù)組和對象多一些
$(jq對象).each()用于jq對象多一些
1.遍歷一維數(shù)組
var arr=['one','two','three']
$.each(arr,function(i,val){
console.log(i)//數(shù)組中元素的下標
console.log(val)//數(shù)組中元素的下標對應(yīng)的值
})
2.遍歷二維數(shù)組
var arr2=[['one','two','three'],['four','five','six']]
$.each(arr,function(i,val){
$.each(val,function(i,v){
})
})
3.遍歷對象
var obj={"name":"zs","id":"160"}
$.each(obj,function(key,val){
console.log(key) name id
console.log(val) zs id
})
- var data = [
{"haha": "123" },
{"haha": "123" },
{"haha": "123" },
{"haha": "123"}
]
$.each(data, function(i, v) {
console.log(i) // 01234
console.log(v) // {"haha": "123"}{"haha": "123"}{"haha": "123"}
console.log(v.haha) //123
})
$.inArray(要查找的值,待處理數(shù)組); 找到返回的下標诵原,找不到返回-1
$.isFunction()檢測一個對象是否是函數(shù)
-------------------------------------------------------------------------------------一:
on() 時間代理 能找到的父元素.on("事件類型","代理的子元素")
off(要移除的事件)
delegate() 專做時間代理 能找到的父元素.delegate("代理的子元素","事件類型")
undelegate(要移除的事件)
live() 可以直接給后添加的元素綁定事件 但是查找范圍太大(從根元素開始查找)1.7版本以后此方法已被廢除
能找到的父元素.live("事件類型")
die(要移除的事件)
bind()不能給后添加的做代理