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);    
});    
原文地址:https://www.cnblogs.com/jine/p/2623134.html