使用Jquery(甚至只是Javascript),了解如何将命令链接在一起
Using Jquery (or even just Javascript), how to chain commands together
jquery中有几个函数,您可以执行以下操作:$('#element').each().get('title').othercmd()
如何创建一个类(或一系列类)来复制这种行为?基本上,我想要这样的东西:
test = new Something()
test.generateSection('title').addData('somedata')
什么是正确的?
感谢
<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>
只需在每个方法结束时返回您正在操作的东西。(通常为this
)。
只需在所有希望能够链接的方法中返回当前实例,就可以实现链模式。
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插件。这其实很容易,而且有很多教程可以用来编写自己的插件。
我遇到的最简单的一个是这个教程:
building-your-first-jquery-plugin-that.html
相关文章:
- 当我点击jsf中的primefaces命令按钮时,如何获得点击事件
- 如何使用Socket.io将命令从客户端发送到服务器
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 命令行中的Uglify js;不要弄乱变量名
- 如何在Analytics.js中始终了解最新的cookie过期时间
- http.listen()在运行时接受终端命令
- 了解双击代码标记
- 如何在没有单词的情况下从命令行运行Node.js程序'节点'
- 使用代码了解 JavaScript 中的反应式扩展
- 如何将给定的curl命令复制为jquery ajax请求
- 在Hapi.js Restful API中了解请求IP
- Ajax POST请求没有'我不了解PHP
- 打开抽屉的Javascript打印命令
- 了解JavaScript中的生成器
- Web控制台命令不起作用
- 试图了解如何使用parseFloat将字符串转换为数字
- 了解存储的MongoDB javascript函数中MongoDB命令的返回类型
- 了解基本 js 设计模式中的命令模式
- 了解主干/木偶事件和命令
- 使用Jquery(甚至只是Javascript),了解如何将命令链接在一起