2012-02-14 22 views
-1

私はコンテナを持っていて、その中にいくつかのアンカータグがあります。これらのアンカータグは同じクラス名を持ちます。今度はクラス名ですべてのアンカータグを取得し、コンテナ内でclickMeと言うことができます。それらにのみプラグインを適用します。ここjqueryを使って同じクラス名の要素を見つける方法

は、私がここで

<div class="container"> 
    <a href="#" class="button" rel="btn1">Task box 1</a><br /> 
    <a href="#" class="button" rel="btn2">Task box 2</a><br /> 
    <a href="#" class="button" rel="btn3">Task box 3</a><br /> 
    <a href="#" class="button" rel="btn4">Task box 4</a><br /> 
    </div> 

EDIT

持っているものである私のプラグインのコードが

ある
(function() { 
$.fn.tasks = function(userOptions){ 
    this.each(function() { 
     var opts = $.extend({ 
      'speed'  : 200 
     }, userOptions); 

     var ael = $(this).find('a.button'); 
     var container = $(this); //'.' + opts.container; 
     var speed = opts.speed; 
     //alert(container); 
     var backdrop = $('<div></div>').addClass('backdrop'); 
     var box = $('<div></div>').addClass('box'); 

     $(ael).click(function() { 
      //alert(speed); 
      var rel = $(this).attr(rel); 
      alert("rel"); 
      $(box).html(rel); 
      $(container).append(backdrop, box); 
      $(backdrop).animate({'opacity' : '.50'}, speed, 'linear'); 
      $(box).animate({'right' : '0'}, speed, 'linear'); 
      $(backdrop,box).css('display', 'block'); 
     }); 

     $(backdrop).click(function() { 
      closeBox(); 
     }); 

     function closeBox() { 
      $(box).animate({'right' : '-500'}, speed, 'linear', function() { 
       $(backdrop).animate({'opacity' : '.0'}, speed, 'linear', function() { 
        $(backdrop,box).css('display', 'none'); 
       }); 
      }); 
     } 
    }); 
} 
}(jQuery)) 
+0

APIを読み取ることにより、 docとチュートリアル。 jqueryのホームページにも例があります! '$(" p.neat ")。addClass(" ohmy ")。show(" slow ");' –

+0

http://docs.jquery.com/tutorials –

+1

http://stackoverflow.com/tags/jquery/ "* –

答えて

2

私が正しくあなたの質問を理解してきたと仮定すると、それはこのような単純なのです。

$(".container a.clickMe").yourPlugin(); 

.container - クラス「コンテナ」

a.clickMeを持つ要素を検索します - クラス「clickMe」(あなたの質問にコメントで述べたように)あなたはおそらく開始する必要があり

a要素が読んでいる.containerの子孫を検索しますjQuery documentation、これは基本的に基本的なものです。

編集(コメントを参照してください)あなたのプラグインで

thisが最も可能性の高いマッチした要素の集合を指します。そのため、eachを使用してthisを反復処理し、そして子孫a要素を取得するためにfindを使用することができます。コンテナの使用内部の「clickMe」のクラスで唯一のアンカーを選択するには

this.each(function() { 
    var aElems = $(this).find("a.clickMe"); 
}); 
+0

質問する前に申し訳ありませんが、私はプラグインをコンテナに適用し、次にプラグインが自動的にすべてを取得することを尋ねることを意味しました。これは、jQueryの質問をするときには、そのコンテナ内のアンカーをクリックし、そのアンカータグにclickイベントとすべての機能を適用します。 – 2619

+0

@ al0neevenings - 私の更新を参照 –

+0

私はあなたの方法を試みたが、それは動作していません。私のプラグインコードを追加した私のポストの更新版を見てください。 – 2619

0

を:$("div.container a.clickMe")

関連する問題