0

存在しないDOM要素でプラグインを実行するまで、jQueryプラグインを作成しましたが、すべて問題ないようです。$("#div1")空のセットが返されるので、アラートボックスがポップアップしないことを期待していました

html

<div id="div2">hello</div>

javascript

(function($){
    $.fn.extend({myPlugin1: function(options){
        alert('plugin run');
        return this;
    }    
    });
})(jQuery);

$("#div1").myPlugin1();

jsfiddle

プラグインがdiv1で呼び出されている間、DOM要素のIDはdiv2であることに注意してください。

4

1 に答える 1

3

プラグインはjQueryオブジェクトを拡張します。空のセレクターは引き続きjQueryオブジェクトを返すため、引き続き実行されます。

セレクターが何かに一致するかどうかを確認する場合は、明示的に行う必要があります。

if (this.length == 0) return this;

alert('plugin run');
return this;
于 2013-03-25T20:37:42.090 に答える