-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返されます。2 番目のアプローチの方が効率的であるように思われるため、残念です。特定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 に答える