0

我想选择调用 jQuery 函数的元素。我认为这应该有效,但事实并非如此。

元素:

<a href="#" onclick="$.myFunction(this)">link</a>

功能:

(function ($) {
    $.myFunction = function (element) {
        element.hide()
    }
}(jQuery));
4

2 回答 2

5

this是 DOM 节点,所以尝试使用

$(element).hide()

作为旁注,尽可能避免使用内联处理程序,因为它们很快或以后会使您的代码变得混乱且难以维护:如果您可以控制代码,则可以改为编写

<a href="#" class="someclass">link</a>

$(function() {
    $('body').on('click', 'a.someclass', function() {
        $(this).hide();
    });
});

使用更简洁的事件委托

于 2012-08-02T14:24:03.270 回答
1

这应该有效:

html:

<a href="#" class="myclass">link</a>

JS:

$('.myclass').click(function() {
    $(this).hide();
});
于 2012-08-02T14:26:43.190 回答