使用Jquery(甚至只是Javascript),如何将命令链接在一起
jquery中有几个函数,您可以执行以下操作:使用Jquery(甚至只是Javascript),如何将命令链接在一起,javascript,jquery,chaining,Javascript,Jquery,Chaining,jquery中有几个函数,您可以执行以下操作: $(“#元素”).each().get('title').othercmd() 如何创建一个类(或一系列类)来复制此行为? 基本上,我想这样做: test = new Something() test.generateSection('title').addData('somedata') 什么是正确的 谢谢只需在每个方法结束时返回您正在操作的内容即可。(this通常)。一种方法是在每个函数中返回“this”(对象)。所以你可以这样做: <
$(“#元素”).each().get('title').othercmd()
如何创建一个类(或一系列类)来复制此行为?
基本上,我想这样做:
test = new Something()
test.generateSection('title').addData('somedata')
什么是正确的
谢谢只需在每个方法结束时返回您正在操作的内容即可。(
this
通常)。一种方法是在每个函数中返回“this”(对象)。所以你可以这样做:
<script>
var Something = function() {
this.hi = function() {
alert('hi');
return this;
};
this.bye = function() {
alert('bye');
return this;
};
}
var myObj = new Something();
myObj.hi().bye();
</script>
var Something=函数(){
this.hi=函数(){
警报(“hi”);
归还这个;
};
this.bye=函数(){
警惕(“再见”);
归还这个;
};
}
var myObj=新事物();
你好,再见;
只需在所有要链接的方法中返回当前实例,就可以实现链模式
Something.prototype.generateSection = function(title){
... code ...
this.sectionAdded = ...;
return this;
}
Something.prototype.addData = function(data)
{
... continue manipulating this.sectionAdded however you need it ..
return this;
}
并对“类”的其他方法执行相同的操作。需要记住的是,您必须存储在将来调用中所需的对象,在生成节的情况下,因此必须将其放入实例中(在某些私有变量中,如sectionAdded中)因此,您将能够继续从其他方法操作它。我不知道是否有一种方法可以轻松地将命令与普通javascript链接在一起,但是如果您想在jQuery中尝试这一点,您必须将代码作为jQuery插件编写。 这其实很简单,有很多教程可以帮助你编写自己的插件 我遇到的最简单的一个是本教程: