2016-06-16 6 views
0

私の機能を実行することができます私は私が何をしたいのか、このjQueryのnextUntilが

 $("#id") 
      .closest("div") 
      .nextUntil("div.stop-class") 
      .addClass("new-class"); 

を行うことができます私はextend jQueryことができますが、別の方法がある。この

 $("#id") 
      .closest("div") 
      .nextUntil("div.stop-class") 
      .myFunction(someParameter); 

のですか?

+0

確か 'のMyFunction(。$( "#IDは")に最も近い( "DIV")nextUntil( "div.stopクラス")、someParameter。) '本当の問題は、あなたが' myFunction'がしたいことです... –

+0

もしあなたが* ca n * jQueryを拡張して、それがあなたが望むことをします、なぜあなたはそれをしませんか? –

+0

@Mike - ありがとう - それは私が探していたものです。私は答えとして投稿してください、私はそれに投票します。 – OutstandingBill

答えて

0

.nextUntilメソッドは、.closestと同じ、または$("#id")を含む他のセレクタメソッドと同じ、チェーン用のjQueryオブジェクトを返します。

のjQueryに独自の連鎖メソッドを追加するには、$.fn.extendを使用する必要はありませんし、ちょうど例えば、$.fn.に直接新しい機能を追加し、this(またはthis.chain機能の更なる結果を返すことができます。

nextUntilと
$.fn.myFunction = function(param) { 
    return this.css("color", param); // or whatever is required 
} 

$("#id").myFunction(); 

または、:。

$("#id") 
     .closest("div") 
     .nextUntil("div.stop-class") 
     .myFunction("green");