-1

我已经为标题道歉,但我真的不知道如何问这个问题,除非把它作为一个例子。

假设这是我的 HTML

<img class="balloon" color="yellow" src="img_1.png">
<img class="balloon" color="red" src="img_2.png">
<img class="balloon" color="red" src="img_3.png">

现在假设我有一个 jQuery 插件party(),我想将颜色传递给每个img.

这是唯一的方法吗?

$('.balloon').each(function() {
    $(this).party({
        party_color:$(this).attr('color'),
        other_param1:'xyz',
        foo:'bar'
    });
});

或者像这样的东西可以以任何方式工作吗?

$('.balloon').party({
    party_color:$(this).attr('color'),
    other_param1:'xyz',
    foo:'bar'
});

如果我尝试这个,我会得到document-element 回来。很遗憾,因为第二种方法对我来说似乎更有效。有没有办法可以img直接引用参数值中的特定值?$(this)显然不起作用。

4

1 回答 1

1

只需获取插件内部的颜色,无论如何在插件中访问元素时都不需要使用元素属性作为插件的选项?

$('.balloon').party();

$.fn.party = function() {
    return this.each(function() {
        var this_party_color = $(this).attr('color');


        // the rest of the plugin

    });
}
于 2013-04-30T21:53:05.263 回答