2015-05-01 40 views
2

我試圖使用按鈕上的onclick事件來獲取上一個「顯示」行。我正在使用數據表,數據表擴展爲在「顯示」行之後插入顯示的行中的兒童。如何使用Jquery/JS獲取此元素?

例如

<tr role="row" class="odd shown"> <!-- I want to get this row by it's class/role --> 
<tr><tr> <!-- This is a comment row with a button that submits aforementioned comments --> 
<tr role="row" class="even"> <!-- This row is not expanded --> 

話雖這麼說這裏是我的實際代碼(減去JS)相當大的一塊。

<tr role="row" class="odd shown"> 
     <td class=" details-control"></td> 
     <td class="sorting_1"></td> 
    </tr> 
    <tr> 
     <td colspan="7"> 
      <div style="text-center"> 
       <table class="table" style="background:transparent;width:100%;"> 
        <tbody> 
        </tbody> 
       </table> 
      </div> 
      <br> 

      <div class="container text-center col-md-offset-2 col-md-8" id="commentDiv"><label for="applicantComment"><h4> 
       Add comment</h4></label><br><textarea class="form-control" id="applicantComment1" 
                 style="resize:none;width:100%;height:100px;"></textarea> 

       <div><br></div> 
       <div class="container text-center col-md-offset-2 col-md-8" style="width:inherit;"> 
        <div class="intro-text"><a class="btn btn-xl" value="1" id="submit">Submit</a></div> 
       </div> 
      </div> 
     </td> 
    </tr> 
</tbody> 
+0

不能完全確定你的要求得到上一行,但如果你使用jQuery'$(」 .shown「)'會用'.shown'類抓取任何元素。 – sharf

+0

什麼被點擊,它在哪裏? – charlietfl

回答

1

你想向上移動到最近<tr>然後從我的理解

$('.btn-xl').click(function(){ 
    var $shownRow = $(this).closest('tr').prev(); 
    $shownRow.doSomething(); 
}); 
+0

您是先生,是一名巫師。 – Tomwa