====jQuery插件编写原则===== 1.命名 jQuery.<插件名>.js 2.插件内部,this指向的是当前选择器取得的JQuery对象,不是内部对象, 例如click(), 内部的this指向的是DOM元素 3.this.each可以遍历所有元素 4.插件头部加分号,防止压缩的时候出问题 5.采用闭包写法

;(function($){ //$是jQuery对象 /代码块/ })(jQuery);

=====jQuery.fn.extend()和jQuery.extend()区别=======

jQuery.fn.extend() 封装对象方法,例子如下

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>extend : color</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style> .a{ color : red; } </style> <script type="text/javascript" src="../../scripts/jquery.js"></script> <script type="text/javascript"> //插件编写 ;(function($) { jQuery.fn.extend({ "color":function(value){ return this.css("color",value); } }); })(jQuery);

//插件应用
$(function(){
	//查看第一个div的color样式值
	alert($("div").color()+"\n返回字符串,证明此插件可用。");  
	//把所有的div的字体颜色都设为红色
	alert( $("div").color("red")+"\n返回object证明得到的是jQuery对象。");
})
</script>

</head> <body> <div class="a">red</div> <div style="color:blue">blue</div> <div style="color:green">green</div> <div style="color:yellow">yellow</div>

</body> </html>

jQuery.extend()

扩展JQuery对象,封装全局函数,或者选择器插件,常用于设计插件的一系列默认参数,例子如下

var setting = {a:1,b:2,c:3} var option = {a:9,b:8} var newJSON = jQuery.extend(setting,option); 结果是newJSON = {a:9,b:8,c:3}