3

私はこれに少し困惑しています。(jQuery を使用して) いくつかの要素を作成し、そのラップされたセットで関数を呼び出し、チェーンを介してこのプロセスを数回続けたいと思います。例えば、

$('<div id="xxx"></div>')
  .call_plugin()
  .append('<div id="yyy"></div>')
  .call_plugin()
  .etc...
.end();

プラグインへの最初の呼び出しが xxx に影響を与える場合、2 番目の呼び出しは yyy に影響を与えます。しかし、これは起こっていません。毎回最初の div (id=xxx) で call_plugin() が呼び出されていると思います。回避策はありますか?

前もって感謝します!

4

2 に答える 2

3

他の要素に対して jQuery を再度呼び出して、特定の機能を実行し、それらを追加します.append

$('<div id="xxx"></div>')
  .call_plugin()
  .append(
     $('<div id="yyy"></div>')
     .call_plugin()
  );

同じ方法でネストできます。

$('<div id="xxx"></div>')
  .call_plugin()
  .append(
     $('<div id="yyy"></div>')
     .call_plugin()
     .append(
        $('<div id="zzz"></div>')
        .call_plugin()
     )
  );

;ネストされた s の後に sを置かないことを忘れないでくださいappend

于 2011-10-31T22:25:16.853 に答える
2
$('<div id="xxx"></div>')
  .call_plugin()
  .append('<div id="yyy"></div>')
  .find('#yyy') // added this. From now on the current selection is #yyy element
  .call_plugin(); // this will be called on #yyy

.end()メソッド(最後使用する)は、同じチェーンの前の選択を続行する場合に、チェーン内の現在の選択を終了するために使用されます...

あなたの例では

$('<div id="xxx"></div>')
  .call_plugin()
  .append('<div id="yyy"></div>')
  .find('#yyy') // added this. From now on the current selection is #yyy element
  .call_plugin() // called on #yyy
  .end() // this returns the selection to be #xxx
  .something()//something else that will be called on #xxx
于 2011-10-31T22:25:35.140 に答える