8

現在のスクリプトを呼び出すために使用されるセレクターを取得しようとしていますが、もちろん必要なプロパティは何らかの理由で削除されました。

これに対する回避策はありますか? 基本的に私が達成したいことは次のとおりです。

(function($) {
    $.fn.myplugin = function(options) {
        return this.each(function() {
            console.log($(this).selector);
        });
    }
}(jQuery));

//Somwehere else:

$('.theClassISelected').myplugin();  //Should console.log('.theClassISelected')

コンソールで (または関数を呼び出すために使用した元のセレクターの何らかの形式)を表示する必要があり.theClassISelectedますが、セレクター プロパティが jQuery から削除されたため、それができなくなりました。

なぜ削除されたのかわかりません。この問題をしばらくグーグルで検索しましたが、2011年から2012年までのStackOverflowの回答がselectorプロパティを推奨しているだけです。ある時点で役に立ったと思いますが、もう役に立たないのですか?

4

1 に答える 1

4

jQueryのドキュメントから:

セレクターを使用する必要があるプラグインでは、初期化中にプラグインの引数の一部としてセレクターに呼び出し元を渡す必要があります。

http://api.jquery.com/selector/

余談ですが、ドキュメントでは、「後続のトラバーサル メソッドによってセットが変更された可能性があるため」、セレクター プロパティが信頼できないことにも言及しています。

于 2013-05-30T12:59:34.253 に答える