1

これは初心者の質問だと確信しているので、気楽にやってください。セレクター (存在する場合) をパラメーターとして関数に渡したいと思います。これは私のコードがどのように見えるかです:

function updateLinkedElements(element) {
    process the element;
}

// Ensure that the related elements is set properly on initialization.
$('#edit-type-config-associated-element').updateLinkedElements(this);

#edit-type-config-associated-element で識別されるセレクターを関数 updateLinkedElements に渡したいと思います。ここでの問題は、セレクターが存在するときにこの関数を呼び出すことです (現在は動的に読み込まれます)。

これは機能しますか?それとも、これを別の方法で行う必要がありますか?

ありがとう

4

6 に答える 6

2

その構文を使用できますが、基本的にそれを行うには jQuery プラグインを作成する必要があります。例えば:

(function($){  
    $.fn.updateLinkedElements = function() {  
        return this.each(function() {  
            // use $(this) to access any elements matched by the selector
        });  
    };  
})(jQuery);  
于 2013-10-25T18:20:27.127 に答える
1

そのような方法を使用するには、それを jQuery プラグインにします。

$.fn.updateLinkedElements = function(){
  return this.each(function(i, el){
    // process element el
  });
};

使用法:

$('#edit-type-config-associated-element').updateLinkedElements();
于 2013-10-25T18:18:46.497 に答える
0

なぜこれをしないのですか:

updateLinkedElements($("#edit-type-config-associated-element"));
于 2013-10-25T18:17:34.747 に答える
0

関数は jQuery オブジェクトのメソッドではないため、いいえ。ただ行う:

updateLinkedElement($('#edit-type-config-associated-element')

セレクターの複数の要素でこれを実行したい場合は、each() http://api.jquery.com/each/を使用します。

次に、次のようになります。

$(<selector>).each(function() { updateLinkedElement(this); });
于 2013-10-25T18:17:58.667 に答える
0

$('#edit-type-config-associated-element')セレクターとしてのみ使用

于 2013-10-25T18:18:21.587 に答える
0

オブジェクトのパラメーターを使用して上記の方法で定義された関数を呼び出すには、2 つのことを行うことができます。そのセレクターを文字列として渡し、関数内の要素をターゲットにします...

updateLinkedElements('#edit-type-config-associated-element');

または、次に要素を事前に取得し、そのオブジェクトをパラメーターとして関数に渡します

var el = document.getElementById('#edit-type-config-associated-element');

updateLinkedElements(el);

jqueryドット表記を使用する場合は、上記の方法を使用して「プラグイン」を作成します

于 2013-10-25T18:18:39.620 に答える