2014-10-17 66 views
0

我想突出顯示用戶單擊它時的表格行。但我不想突出顯示被點擊的行,而是突出顯示被點擊的行下面的行。jquery - 突出顯示下一行而不是被點擊的行

我有一個突出顯示點擊行的代碼,但我不知道如何突出顯示下一行。該頁面將隨服務器端語言動態生成,因此我希望代碼具有一定的靈活性。

 <table class="table" id="traits"> 
       <thead> 
       <tr> 
        <th class="col-md-7">&nbsp;</th> 
        <th class="col-md-1 survey_header">Just like me</th> 
        <th class="col-md-1 survey_header">Very much like me</th> 
        <th class="col-md-1 survey_header">Somewhat like me</th> 
        <th class="col-md-1 survey_header">Not much like me</th> 
        <th class="col-md-2 survey_header">Not at all like me</th> 
       </tr> 
       </thead> 
       <tbody> 
       <tr class=""> 
        <td class="survey_trait"><strong>trait 1</strong></td> 
        <td><input type="radio" name="trait1" value="5"></td> 
        <td><input type="radio" name="trait1" value="4"></td> 
        <td><input type="radio" name="trait1" value="3"></td> 
        <td><input type="radio" name="trait1" value="2"></td> 
        <td><input type="radio" name="trait1" value="1"></td> 
       </tr> 
       <tr class=""> 
        <td class="survey_trait"><strong>trait 2</strong></td> 
        <td><input type="radio" name="trait2" value="5"></td> 
        <td><input type="radio" name="trait2" value="4"></td> 
        <td><input type="radio" name="trait2" value="3"></td> 
        <td><input type="radio" name="trait2" value="2"></td> 
        <td><input type="radio" name="trait2" value="1"></td> 
       </tr> 
       <tr class=""> 
        <td class="survey_trait"><strong>trait 3</strong></td> 
        <td><input type="radio" name="trait3" value="5"></td> 
        <td><input type="radio" name="trait3" value="4"></td> 
        <td><input type="radio" name="trait3" value="3"></td> 
        <td><input type="radio" name="trait3" value="2"></td> 
        <td><input type="radio" name="trait3" value="1"></td> 
       </tr> 
       <tr class=""> 
        <td class="survey_trait"><strong>trait 4</strong></td> 
        <td><input type="radio" name="trait4" value="5"></td> 
        <td><input type="radio" name="trait4" value="4"></td> 
        <td><input type="radio" name="trait4" value="3"></td> 
        <td><input type="radio" name="trait4" value="2"></td> 
        <td><input type="radio" name="trait4" value="1"></td> 
       </tr> 
       </tbody> 
     </table> 



     <script> 
     // When the document is ready 
     $(document).ready(function(){ 

     $("#traits tr").click(function() { 
      var $tr = $(this).closest("tr"); 
      //remove any selected siblings 
      $tr.siblings().removeClass('selected'); 
      //toggle current row 
      $tr.toggleClass('selected'); 
      }) 



     }); 

回答

1

只需添加的.next(),並更改選擇去除類:

$("#traits tr").click(function() { 
    var $tr = $(this); 
    //remove any selected siblings 
    $('#traits tr').removeClass('selected'); 
    //toggle current row 
    $tr.next().toggleClass('selected'); 
}) 

jsFiddle example

0

在腳本中使用下面的代碼:

<script> 
    // When the document is ready 
    $(document).ready(function(){ 
     $("#traits tr").click(function() { 
      //remove all selected classes if any before adding it to the next one 
      $("tr").removeClass('selected'); 
      $(this).next().addClass('selected') 
     }); 
    }); 
</script> 
+0

感謝您的回答。是否有API告訴我該行是否是最後一行? – user826323 2014-10-17 02:30:39

+0

您可以使用if語句和數組長度來編程。 – 2014-10-17 02:42:19