2016-11-02 4 views
1

ich einen Zeileninhalt in meinem Tisch zu bekommen:Zugriff auf eine Tabelle tr mit Index

<div class="myTable"> 
    <table id="dataTable"> 
     <tbody> 
      <tr> 
      <td>First</td> 
      </tr> 
      <tr> 
      <td>second</td> 
      </tr> 
     </tbody> 
    </table> 
    </div> 

Um die td erhält ich verwenden:

$('#dataTable').find('tbody').find('tr:nth-child(1)'); 

weichen Werke und die tr Daten erhalten, aber wenn mit Variable:

var j= 1; 
$('#dataTable').find('tbody').find('tr:nth-child(j)'); 

es schlägt fehl.

Was ist das Problem?

+2

, weil Sie j als Zeichenfolge setzen –

Antwort

2
var j= 1; 
$('#dataTable').find('tbody').find('tr:nth-child(' + j +')'); 
0

entweder über die eq() Funktion:

rows.eq(0).addClass('my_class'); 

Oder das: eq() Wähler:

$('tr:eq(0)', tbl).addClass('my_class'); 
2

Verwenden Sie einfache String-Verkettung und obwohl man es auf einen einzigen reduzieren Wähler.

var j= 1; 

$('#dataTable tbody tr:nth-child(' + j + ')'); 
//       ----^^^^^^^^^---- 
0

Theres keine Notwendigkeit für find: -

var j= 1; 
$('#dataTable tbody tr:nth-child(' + j +')'); 
0

können Sie verwenden, um die .eq() Funktion. Die Indizierung beginnt mit 0, also gibt var j = 1 Ihnen den zweiten tr

Verwandte Themen