将$(this)传递给函数
问题描述:
在JQuery中,我们如何将整个$(this)传递给函数?可能?
答
嗯,这取决于你逝去的是什么,但你只是尝试了以下内容:
function do_something_cool(jquery_link_object) {
/* I do something awesome! */
}
$('a.my_link_class').click(function() {
do_something_cool($(this));
});
这将通过单击链接到do_something_cool
方法。
答
$(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
答
你的问题不是很具体,但也许你想是这样的:
$("a.myLinkClass").click(
function(){
$(this).addClass('myClickedLinkClass'); // 'this' refers to the anchor element that was clicked
}
);
是的,你可以在Javascript中调用一个函数来传递一个对象作为参数。为什么这是一个问题? – 2010-03-12 14:30:27