1

我正在尝试编写一个 jquery 插件,但我对著名的“this”有疑问。

这是自定义插件的调用:

$('.selector').myPlugin({
        test: $(this).attr('rel')
});

现在,在我的插件中的某个地方:

$.myPlugin = function (options) {
    alert(options.test);
}

我的问题是:如何使用 $(this) 在插件中使用我的选择器的 Rel 属性?

前面的代码总是告诉我“this”是文档。

非常感谢

4

1 回答 1

3

$(this)不是您期望它在该对象文字中的样子。循环使用each

$('.selector').each(function() {
    $(this).myPlugin({
        test: $(this).attr('rel')
    });
});

在内部eachthis将指向正确的元素,而不是调用函数的上下文。

于 2012-08-06T16:03:19.177 回答