2013-08-10 17 views
10

コンテキスト: 特定のボタンをクリックすることに基づいて、ajaxクエリを実行するフォームとスクリプトを作成しています。同じクラスの要素を持つ複数のdivブロックがあり、ボタンがクリックされたdivブロックに基づいて、異なるフォームが処理されます。各兄弟要素を繰り返します。

プログラムの開始の一環として、私は明らかに単純なjQuery呼び出しを開始しました。

私は特定のクラスにonclickイベントを追加しようとしていて、その要素の兄弟のCSS値を取得しようとしています。

エラー: TypeError: this.siblings is undefinedというエラーが表示されます。

質問: jQueryを使用して要素の兄弟を反復処理する適切な方法はありますか?

マイコード:

HTML:

<a class="btn LiveStatsBtn"><span class="btn-label">Get Stats now</span> </a> 

はJavaScript:

$(document).ready (function() 
{ 
    $('.LiveStatsBtn').click(function(){ 
     this.siblings.each(function() { 
      var tx=this.css(); 
      alert(tx); 
     }); 
    }); 
}); 

答えて

17

thisは、DOM要素を指し、そしてjQueryオブジェクトではありません。あなたは1で、それをラップする必要があります:あなたは要素の兄弟をラップし、新しいjQueryオブジェクトを取得するには、それを呼び出す必要がありますので、

$(this).siblings().each(function() { 
    // ... 
}); 

はまた、「兄弟」機能であることに注意してください。

関連する問題