jQuery插件使用和写法
jQuery插件分类3中:
1.封装对象方法的插件。
2.封装全局函数的插件。
3.选择器插件。
jQuery插件机制
jQuery提供了两个用于扩展jQuery功能的方法:
1.jQuery.fn.extend()方法——封装对象方法。
代码如下:
;(function($){
////这里写插件代码
})(jQuery);
2.jQuery.extend()方法——封装全局函数、选择器插件,还有一个很强大的功能,用于扩展已有的Object对象。
代码如下:
jQuery.extend(target.obj1,......[objN]);////用一个或多个其他对象来扩展一个对象,然后返回被扩展的对象。
表格隔行变色示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
.odd
{
background-color: Red;
}
.even
{
background-color: Green;
}
.selected
{
background-color: Blue;
}
</style>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
; (function ($) {
$.fn.extend({
"alterBgClass": function (options) {
////设置默认值
options = jQuery.extend({
odd:"odd",
even:"even",
selected:"selected"
},options);
$("tbody>tr:odd",this).addClass(options.odd);
$("tbody>tr:even", this).addClass(options.even);
$("tbody>tr",this).click(function () {
////判断当前checkbox是否选中
var hasSelected=$(this).hasClass(options.selected);
////选中,则移除Class且checkbox不选中,否则,添加Class且checkbox选中
$(this)[hasSelected ? "removeClass" : "addClass"](options.selected).find(":checkbox").attr("checked", !hasSelected);
});
////如果默认情况下选中,则添加Class
$("tbody>tr:has(td:has(:checkbox:checked))", this).addClass(options.selected); return this;
}
});
})(jQuery); $(function () {
$("#table1").alterBgClass();
});
</script>
</head>
<body>
<table id="table1" border="1">
<tr>
<td>
<input id="Checkbox1" type="checkbox" checked="checked" />
</td>
<td>
123
</td>
<td>
456
</td>
</tr>
<tr>
<td>
<input id="Checkbox2" type="checkbox" />
</td>
<td>
789
</td>
<td>
135
</td>
</tr>
<tr>
<td>
<input id="Checkbox3" type="checkbox" />
</td>
<td>
789
</td>
<td>
135
</td>
</tr>
<tr>
<td>
<input id="Checkbox4" type="checkbox" checked="checked" />
</td>
<td>
789
</td>
<td>
135
</td>
</tr>
</table>
</body>
</html>
注:以上内容摘自——《锋利的jQuery》第二版
jQuery插件使用和写法的更多相关文章
- jquery插件的基本写法
(function($){ var a={name:'2222',age:5555} var b={sex:'男',grade:5555} var c=$.extend({},a,b);//合并到新的 ...
- JQuery插件的写法 (转:太棒啦!)
JQuery插件写法的总结 最近Web应用程序中越来越多地用到了JQuery等Web前端技术.这些技术框架有效地改善了用户的操作体验,同时也提高了开发人员构造丰富客户 端UI的效率.JQuery本身提 ...
- jquery插件 - 学习笔记 (插件参数及函数的调用)
今天研究的是jquery插件的基本写法: 比如我打算写一个名为 ImageZoom 的插件 前台调用: <script src="ImageZoom.js"></ ...
- 自己动手Jquery插件
最近Web应用程序中越来越多地用到了JQuery等Web前端技术.这些技术框架有效地改善了用户的操作体验,同时也提高了开发人员构造丰富客户 端UI的效率.JQuery本身提供了丰富的操作,但是,有时候 ...
- 用实例一步步教你写Jquery插件
最近Web应用程序中越来越多地用到 了JQuery等Web前端技术.这些技术框架有效地改善了用户的操作体验,同时也提高了开发人员构造丰富客户 端UI的效率.JQuery本身提供了丰富的操作,但是,有时 ...
- 动手Jquery插件
自己动手Jquery插件 最近Web应用程序中越来越多地用到了JQuery等Web前端技术.这些技术框架有效地改善了用户的操作体验,同时也提高了开发人员构造丰富客户 端UI的效率.JQuery本身提供 ...
- jQuery插件写法总结以及面向对象方式写法总结
前两个是jQuery插件,后面2个是以对象的形式开发,都类似. 写法一 (function($, window){ // 初始态定义 var _oDialogCollections = {}; // ...
- 第7章 jQuery插件的使用和写法
第7章 jQuery插件的使用和写法 插件又称扩展,是一种遵循一定规范的应用程序接口写出来的程序. 插件的编写思想基于面向对象. 获取最新的插件可以查看jquery官网:http://plugins. ...
- Jquery插件写法及extentd函数
JQuery插件写法 JQuery插件又分为类扩展方法和对象扩展方法两种,类插件是定义在JQuery命令空间的全局函数,直接通过可调用,如可调用,如可调用,如.ajax():对象插件是扩展JQuery ...
随机推荐
- 设计模式(4)-对象创建型模式-Prototype模式
1.对象创建型模式 1.4 Protoype模式 1.4.1需求 通过拷贝原形对象创建新的对象. 1.4.2结构 •P r o t o t y p e(Gr a p h i c) - ...
- Androidproject夹
创建一个Android应用 File -> New -> Android Application Project 填写应用名称.project名称.包名 设置project的相关信息.默认 ...
- [Android学习笔记]LayoutParams的使用
LayoutParams的使用: 什么时候会用到此对象?动态布局,动态向ViewGroup中添加子view时,为子view设置此对象,目的是告诉父容器以何种方式呈现此子view LayoutParam ...
- java基础---->摘要算法的介绍 (转)
数据摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名.数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密.数据摘要算法也被称为哈希(Hash)算法. ...
- uva live-2322 - Wooden Sticks
首先排个序,然后找一次0花费,然后再找一次0花费,然后再找一次0花费,然后再找一次0花费......... 最后看找了几次,+1就是答案 #include<iostream> #inclu ...
- 怎样控制界面控件之进度条(ProgressBar)功能
一.基础知识: 1.ProgressBar在界面文件XML中的布局: [html] <progressBar android:id="@+id/progressbar_updown&q ...
- Swift实现OC中的单例模式
一.MySingle类 import Foundation class MySingle{ //定义单例的属性 var name:String? var age:Int? var height:Dou ...
- 如何解决This system is not registered with RHN.
今天我必须写下这篇文章,由于在我刚刚接触到Linux下安装oracle时碰到了Linux中少xscreensaver.rpm包自己弄了非常久.最后还是被一个大哥帮我攻克了:仅仅能说非常的感谢你! 我试 ...
- Android四个多线程分析:MessageQueue实现
Android四个多线程分析:MessageQueue的实现 罗朝辉 (http://blog.csdn.net/kesalin) CC 许可,转载请注明出处 在前面两篇文章<Android多线 ...
- 用XAML做网页!!—广告展示区
原文:用XAML做网页!!-广告展示区 此次我们来进行广告展示区块的制作. 首先在Show区块中去掉原来设置的背景色,加入新的渐变背景设定: <Grid.Background> <L ...