2010-03-12 186 views
1

在JQuery中,我们如何将整个$(this)传递给函数?可能?

+0

是的,你可以在Javascript中调用一个函数来传递一个对象作为参数。为什么这是一个问题? – 2010-03-12 14:30:27

回答

5

嗯,这取决于你逝去的是什么,但你只是尝试了以下内容:

function do_something_cool(jquery_link_object) { 
    /* I do something awesome! */ 
} 

$('a.my_link_class').click(function() { 
    do_something_cool($(this)); 
}); 

这将通过单击链接到do_something_cool方法。

0

$(this)元素暴露在大多数jQuery事件操作中。你可以添加一个函数参数给你的jQuery处理程序。

$("a.someClass").live("click", function(e) { 
    // $(this) is a reference to the same <a> element. 
    var link = $(this); 
    doSomethingToLink(link); 
}); 
+0

完全没有关系,而且最重要的是,错误:'e'是**不是**对引用的引用,它是** Event **对象。 – 2010-03-12 14:33:11

+0

对不起,你是对的。修正了我的例子 – 2010-03-12 15:19:27

0

你的问题不是很具体,但也许你想是这样的:

$("a.myLinkClass").click(
    function(){ 
     $(this).addClass('myClickedLinkClass'); // 'this' refers to the anchor element that was clicked 
    } 
);