extend函數(shù)
$.extend(target,[object1],[onjectN])
$.extend([deep],target,object1,[objectN])
var obj1={
height:100,
width:100,
length:100,
div:{x:100,y:100}
}
var obj2={
height:200,
width:200,
div:{x:200}
}
$.extend(obj1,obj2)
console.log(obj1.height)
console.log(obj1.div.y)
//result:200,undefined
當(dāng)使用true參數(shù)時(shí)甜害,
var obj1={
height:100,
width:100,
length:100,
div:{x:100,y:100}
}
var obj2={
height:200,
width:200,
div:{x:200}
}
$.extend(true,obj1,obj2)
console.log(obj1.height)
console.log(obj1.div.y)
//result:200,100
拓展jQuery的公共函數(shù)
$.extend({
minValue:function(a,b){
return a>b?a:b
}
})
var a = prompt("input a")
var b = prompt("input b")
console.log($.minValue(a,b))
$.fn.extend()方法可以創(chuàng)建jQuery對(duì)象方法
$.fn.extend({
test:function(){
alert("click "+$(this).html()+" this is test function")
}
})
$("#fnExtend").click(function(){
$(this).test()
})
自定義jQuery函數(shù)
添加新的全局函數(shù)
$.clickDiv=function(node){
console.log(node.text()+" click")
}
$("div").click(function(){
$.clickDiv($(this))
})
通過extend函數(shù)添加全局函數(shù)
$.extend({
foo:function(){
alert("this is a new function 'foo()'")
}
})
$.foo()
使用命名空間
$.myPluin={
ale:function(){
alert("function from myPluin")
}
}
$.nextPluin = {
ale:function(){
alert("function from nextPluin")
}
}
$.myPluin.ale()
$.nextPluin.ale()
自定義選擇器
index=-1 //定義全局變量index
jQuery.expr[":"].le=function(elem,i,match){
//return i>match[3]-0||i==match[3]
console.log(index)
index++
return index>match[3]-0 //返回索引大于3的元素
}
$("p:le(2)").css("color","red")
//返回元素索引值大于等于2的元素