jquery插件学习三

发布时间:2020-04-21编辑:脚本学堂
用惯jquery的用户可能习惯于连写行为,在调用一个方法之后,紧跟着调用另一个方法,如此连写不断,形成一个珍珠链,而且编写灵活,方便...

用惯jquery的用户可能习惯于连写行为,也就是说在调用一个方法之后,紧跟着调用另一个方法,如此连写不断,形成一个珍珠链,而且编写灵活,方便。
例如:

复制代码 代码如下:

$(this).test().hide().height();
 

要实现类似的连写行为,就应该在每个插件方法中,返回一个jquery对象,除非方法需要明确返回值。返回的jquery对象通常就是this所引用的对象。如果使用each()方法迭代this,则可以直接返回迭代的结果。针对上一节的示例,进一步修改
 

复制代码 代码如下:

jQuery.fn.test = function(){
return this.each(function(){ //遍历匹配的元素,此处的this表示对象集合
alert(this.nodeName); //提示当前jquery对象的dom节点名称
})
}  

然后,我们就可以在应用示例中连写行为了,例如,在下面的示例中,先弹出提示节点的名称的信息,然后使用当前节点名称改写当前元素内包含的信息,最后在慢慢隐藏该元素。  

复制代码 代码如下:

$('body *').click(function(){
$(this).test().html(this.nodeName).hide(1000);
});