Javascript 如何将所选元素传递给';这';在链式函数中
我试图理解链式函数是如何工作的,尤其是如何将所选元素传递给链式函数 假设我们有一个链式函数,如下所示:Javascript 如何将所选元素传递给';这';在链式函数中,javascript,jquery,methods,jquery-chaining,Javascript,Jquery,Methods,Jquery Chaining,我试图理解链式函数是如何工作的,尤其是如何将所选元素传递给链式函数 假设我们有一个链式函数,如下所示: var func = {}; func.remove= function() { $(this).remove(); } var elm = $("foo"); elm.func.remove(); 如何通过jQuery或JavaScript选择元素并将其传递给链接函数,如下所示: var func = {}; func.remove= function() { $(thi
var func = {};
func.remove= function() {
$(this).remove();
}
var elm = $("foo");
elm.func.remove();
如何通过jQuery或JavaScript选择元素并将其传递给链接函数,如下所示:
var func = {};
func.remove= function() {
$(this).remove();
}
var elm = $("foo");
elm.func.remove();
或
链式函数是一种返回调用它的对象的方法(因此,除非扩展本机DOM对象,否则它不能返回元素本身,这是不推荐的)
func
没有链接,因为它根本不是函数<代码>删除在未返回其所属对象之前未链接
如果要执行与元素一起工作的链接函数,则需要定义一个对象,在该对象上定义链接方法,并将元素存储为该对象的属性
例如:
function MyConstructor(element) {
this._element = element;
}
MyConstructor.prototype.doA = function doA () {
console.log(this._element);
return this;
};
MyConstructor.prototype.doB = function doB () {
element.style.display = "none";
return this;
};
var example = new MyConstructor(document.getElementById('foo'));
example.doA().doB();
链式函数是一种返回调用它的对象的方法(因此,除非扩展本机DOM对象,否则它不能返回元素本身,这是不推荐的)
func
没有链接,因为它根本不是函数<代码>删除在未返回其所属对象之前未链接
如果要执行与元素一起工作的链接函数,则需要定义一个对象,在该对象上定义链接方法,并将元素存储为该对象的属性
例如:
function MyConstructor(element) {
this._element = element;
}
MyConstructor.prototype.doA = function doA () {
console.log(this._element);
return this;
};
MyConstructor.prototype.doB = function doB () {
element.style.display = "none";
return this;
};
var example = new MyConstructor(document.getElementById('foo'));
example.doA().doB();
所有链式方法都是返回对象的函数。这允许开发人员简单地调用返回对象上的方法。您的第一个示例(
func.remove
)不是可链接的方法,因为它不返回任何内容。请参见:所有链接的方法都是返回对象的函数。这允许开发人员简单地调用返回对象上的方法。您的第一个示例(func、.remove
)不是可链接的方法,因为它不返回任何内容。请参见:非常感谢,您的解释非常有用。非常感谢,您的解释非常有用。