如何将函数中的JQuery对象作为该对象的方法调用的参数传递?

时间:2013-09-11 16:08:46

标签: javascript jquery

例如,我有一个方法showTable,它接受​​一个JQuery对象,而showTable调用是该同一个对象的append方法的参数。

这是我想要的结果:

body.append (this.showTable(body));

showTable返回要追加到body的HTML字符串。但我不喜欢两次输入body,感觉很笨重。如何隐含body是要传递的变量?

2 个答案:

答案 0 :(得分:2)

您可以在此处使用.append( function(index, html) )变体

body.append (this.showTable);

然后在里面

function showTable(){
    //here this points to the body element
}

答案 1 :(得分:0)

让我们从流畅的风格重写:

this.showTable(body).appendTo(body)

但这并没有真正回答这个问题。我觉得它看起来更好。

要回答这个问题,我会写一个辅助函数:

jQuery.fn.extend({
    appendTableTo: function(thing) { return this.showTable(thing).appendTo(thing) }
});
this.appendTableTo(body);