如何理解jquery的链式编程?

如何理解jquery的链式编程?

问题描述:

我怎么感觉链式编程好难理解,顺着看下去就不知道这程序要干嘛了。请各位传授点经验

选择器选错了
$("#select,#selectMenu") 同时选择id为 select 和selectMenu 的元素
$("#select #selectMenu") 选择 id 为 select 下面的 id 为 selectMenu 的元素
$("#select","#selectMenu") 选择 id 为selectMenu 下面的 id 为select 的元素
这三种都可以,只不过效果都不相同 ,你之前的直接错误,后面的就不用看了

链式的实现 ,,给你看一下原理吧

function $(){
var arr=[];
this.push=function(a){
arr.push(a);
return this;
}
this.pop=function(){
arr.pop();
return this;
}
this.shift=funtion(){
arr.shift();
return this;
}
this.print =function(){
console.log( arr);
}
}

var $obj= new $();
$obj.push("a").push("b");//后面还可以接很多 ,链式编程实际就是执行完某一个函数后,返回它本身,自然可以继续调用
$obj.print();//输出a,b

我写的mouseover事件(代码块1),为什么直接在后面.mouseleave不起作用(代码块2)。
代码块1

 $("#select,selectMenu").mouseover(function(){
        $("#selectMenu").slideDown(500);
    });

代码块2

  $("#select,selectMenu").mouseover(function(){
        $("#selectMenu").slideDown(500);
    }).mouseleave(function(){
    $("#selectMenu").slideUp(500);
    });