插件机制:为了扩展jQuery库函数,jQuery提供了两种方式:
一、jQuery.extend(object):
jQuery.extend(object):扩展jQuery对象本身,主要是用来扩展jQuery全局函数 ,调用时直接$.函数名(参数)。
例如:
<script>
jQuery.extend({
minR:function(a,b){ //找较小值。
return a>b?b:a;
},
maxR:function(a,b){ //找较大值。
return a>b?a:b;
},
});
console.log($.minR(2,44)); //控制台输出2。
</script>
二、jQuery.fn.extend(object):
jQuery.fn.extend(object):扩展 jQuery 元素集,主要用于扩展jQuery插件,调用时需要先创建jQuery对象,然后才能调用相应的函数。
例如:
<form>
<input type="checkbox" value="1" name="hobby"/>篮球
<input type="checkbox" value="2" name="hobby"/>足球
<input type="checkbox" value="3" name="hobby"/>排球
<input type="checkbox" value="4" name="hobby"/>乒乓球
<input type="button" onclick="coo()" value="按钮"/>
</form>
<script>
jQuery.fn.extend({
values:function(){
var result = "";
this.each(function(){ //这个this代表调用此函数的jQuery对象数组,即包含name='hobby'的四个多选框的数组。
if(this.checked) //这个this代表每一个Dom对象,即每一个多选框。
{
result = result+","+this.value;
}
});
result = result=="" ? "":result.substring(1);
return result; //返回被选中多选框的value值。
},
});
function coo(){
var result = $("[name='hobby']").values(); //调用values函数。
console.log(result);
}
</script>