もう一度お詫び申し上げます - これはおそらく私のJQueryの知識が不足している可能性がありますが、動的にチェックし、次に動的に削除しようとするパラメータを渡すと、追加されたフィールド(除去の試みを停止する必要があり、チェックが行われて - 必要ない場合)単一のJquery関数を複数回呼び出すことができません
jQuery.fn.clearFields = function (clearField) {
var clearfield_search = "#"+clearField+"_search";
var clearfield_link = "#"+clearField+"_link";
var clearfield_search_label = "label[for='"+clearField+"_search']";
var clearfield_link_label = "label[for='"+clearField+"_link']";
alert("About to Remove");
if ($(clearfield_search).length > 0) {
//Removal of Label and Field (Attempted)
//removal of inital break & labels
$(clearfield_search_label).prev('br').remove();
$(clearfield_search_label).remove();
$(clearfield_link_label).prev('br').remove();
$(clearfield_link_label).remove();
//Removal of fields
$(clearfield_link).remove();
$(clearfield_search).remove();
}
alert("Removed");
}
しかし、私のジレンマは、私はこの関数に明示的な(複数の呼び出し)を作るために見ることができないです - - など
jQuery.fn.clearFields("ebsco");
jQuery.fn.clearfields("summon");
これは最初の関数cal私は実行されます - 他の何も起こらない - 非常にイライラ。
forループまたは.eachメソッドを使用して呼び出しを実装する必要がありますか?それとももっと基本的なものがあると思いますか?これを行うにはもっとクリーンな方法がありますか?再び
ネイトさんのコメント、このような何かごとに限り
NB: '$(selector ')。clearFields()'のように、セレクタで使用しない場合は 'jQuery.fn'ではなく' jQuery'を拡張する必要があります。 –
なぜJQueryを拡張するのですか?なぜこれを通常の関数として宣言していないのでしょうか? –