2016-09-09 9 views
0

テーブルがあり、trtdです。すべての行で、の2つのtdがあります。各行において、最初のtdはクラスjz-plを有し、第2のtdはクラスjz-enを有する。私が達成したい何秒を選択は2番目(次の)にあります。

は最初<td class="jz-pl">変化<select><td class="jz-en"><select>にスタイルを追加することです。

このクラスのすべての要素ではなく、この行でのみ行いたいことに注意してください。

jQuery(document).ready(function() { 
    jQuery("td.jz-pl select").change(function() { 
    jQuery(this).next('td.jz-en select').css('background-color', 'red'); 
    }); 
}); 
+0

別の方法として、HTML、あなたを投稿すると、あなたがそれを理解できるかどうかを確認するために質問読み取ろう... –

答えて

2

あなたはselect要素をターゲットにする.find()/.children()を使用し、その後td要素の直後にターゲットに.next('td.jz-en')を使用して、親td要素までトラバースする必要があります。

jQuery("td.jz-pl select").change(function() {  
    jQuery(this).closest('td').next('td.jz-en').find('select').css('background-color','red'); 
}); 

種々トラバーサル方法が使用.closest('td')

.parent()は別の方法としては、tr次いでfind()所望の要素まで横断することができることができます。

jQuery("td.jz-pl select").change(function() {  
    jQuery(this).closest('tr').find('td.jz-en select').css('background-color','red'); 
}); 
+1

してください、私は)(.next ''に頼るtr'に上がるといないと思います'それはあまりにも脆いので(例えば、.jz-plと.jz-enの間に別の列を追加すると、このコードは壊れてしまいます)。 '$(this).closest(" tr ")。find(" td.js-en select ")...'しかし、概念は同じです。 –

+0

さて、それは動作します。もう一つ。 –

関連する問題