在jQuery定义自己的扩展方法函数

今早复习昨天的练习jQuery的DropDownList联动功能,如果想看回《jQuery实现DropDownList(MVC)http://www.cnblogs.com/insus/p/3413749.html 和《jQuery实现两个DropDownList联动(MVC)http://www.cnblogs.com/insus/p/3414480.html 。发觉一些jQuery代码冗余。
如:

上图中,高亮部分的代码将会是产生冗余,它只是对象不相同而已。jQuery是否也有同C#语言一样,可以重构(Refactoring)呢? 为了尝试解决此问题,刚才Insus.NET查找资料,它们是可以使用JQuery的扩展方法(Extend Method)来实现。对的,就是扩展方法。

写好扩展方法之后,就可以修改代码了:

在jQuery定义自己的扩展方法函数

时间: 2025-01-12 23:29:25

在jQuery定义自己的扩展方法函数的相关文章

如何定义和调用扩展方法

来自MSDN:最好的.NET学习库 https://msdn.microsoft.com/zh-cn/library/gg145045%28v=vs.110%29.aspx 扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用. 扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的.它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀. 下面的示

jquery设计思想之写法-方法函数化&链式操作

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="

jquery extend 多个扩展方法

$.fn.extend({ SetDict: function (option) { var txtControl = $(this); if (!txtControl.hasClass("combo-text")) { // var width = txtControl.width(); //txtControl.addClass("combo"); } txtControl.click(function () { var obj = option.valueCo

在jQuery定义自己函数

刚才有学习<在jQuery定义自己的扩展方法函数>http://www.cnblogs.com/insus/p/3415312.html .现在想练习一下定义自定义函数.经重构之后,还是发现有代码冗余.下图高亮部分代码: 因此Insus.NET再想重构它,此次使用自定义函数来实现.写一个自定义函数DdlBind(obj,data),它有两个参数,第一个为对象,第二个为数据. 这样,我们就可以使用这个函数,去替代冗余部分的代码了. 完成了,看看效果: 咦,看到否,第二个下拉列表,正常情况之下,不

[读书笔记]C#学习笔记五: C#3.0自动属性,匿名属性及扩展方法

前言 这一章算是看这本书最大的收获了, Lambda表达式让人用着屡试不爽, C#3.0可谓颠覆了我们的代码编写风格. 因为Lambda所需篇幅挺大, 所以先总结C#3.0智能编译器给我们带来的诸多好处, 下一遍会单独介绍Lambda表达式. 这篇主要包括的内容有: 自动属性,隐式类型,对象集合初始化,匿名类型,扩展方法. 下面一起来看下C#3.0 所带来的变化吧. 1,自动实现的属性在C#3.0之前, 定义属性时一般会像下面这样去编写代码: 1 class Person 2 { 3 //定义私

扩展方法(C# 编程指南)

扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用. 对于用 C# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异. 最常见的扩展方法是 LINQ 标准查询运算符,它将查询功能添加到现有的 System.CollectionsIEnumerable 和 System.Collections.GenericIEnumer

C#学习笔记四: C#3.0自动属性&amp;匿名属性及扩展方法

前言 这一章算是看这本书最大的收获了, Lambda表达式让人用着屡试不爽, C#3.0可谓颠覆了我们的代码编写风格. 因为Lambda所需篇幅挺大, 所以先总结C#3.0智能编译器给我们带来的诸多好处, 下一遍会单独介绍Lambda表达式. 这篇主要包括的内容有: 自动属性,隐式类型,对象集合初始化,匿名类型,扩展方法. 下面一起来看下C#3.0 所带来的变化吧. 1,自动实现的属性在C#3.0之前, 定义属性时一般会像下面这样去编写代码: 1 class Person 2 { 3 //定义私

C#扫盲之:带你掌握C#的扩展方法、以及探讨扩展方法的本质、注意事项

1.为什么需要扩展方法 .NET3.5给我们提供了扩展方法的概念,它的功能是在不修改要添加类型的原有结构时,允许你为类或结构添加新方法. 思考:那么究竟为什么需要扩展方法呢,为什么不直接修改原有类型呢? 首先,假设我们的项目中有一个类,后来过了一段时间,我们明确的知道需要为该类添加一个新功能,考虑这个需求有两个解决办法: (1)直接修改当前类的定义 这样做的缺点是,破坏向后的兼容性,可能以前使用的旧代码无法通过编译.比如说旧代码使用了一个Methed(int,int)的方法,但是为了满足新功能我

C# 如何扩展方法

我们在使用.net或第三方类库时,根据业务需要需增加一个函数类处理,但又不想在其他类中调用只想在原有类中调用,又不能直接修改源码,该如何实现呢?这时我们可以用扩展方法实现. 这里我们以在System.String中增加一个将字符串转换为Int32输入的函数为例来讲解如何定义和使用扩展方法 1.自定义一个静态类,类名任意,此处为StringExtand public static class StringExtand { public static int ToInt32(this string