2017-02-09 2 views
-2

Wie bekomme ich den Text für die erste td, die von dieser Schleife mit jQuery erstellt wird?Wie bekomme ich mehrere Text mit jQuery?

diesen Code Unter der Annahme, macht 14 Zeilen:

@foreach (string item in Model) 
{ 
    <tr> 
     <td id="td_name" style="border-left: thin">@item</td>     
     <td><input type="text" id="[email protected]" onclick="" style="width: 40px;border-left: thin"/></td> 
     <td><input type="checkbox" id="[email protected]" value="@item" /></td> 
    </tr> 
} 
+0

jQuery bietet eine Funktion für diese zu bekommen: http://api.jquery.com/jquery.each/ – nbokmans

+1

Nicht sicher, was Sie fragen : '$ (" td "). first(). text()'? –

+0

Ich kann den Text für diese spezifische Td erhalten, wenn das Modell nur 1 Datensätze enthält. aber was ist wenn ich mehr davon habe? –

Antwort

1

Versuchen Sie, die .eq() Methode das gewünschte Element, um es auszuwählen Index bereitstellt, und .text() Methode, um es Text ist.


Überprüfen Sie das Beispiel:

function getFirstCellTextList(tableElement) { 
 
    if (tableElement instanceof jQuery) { 
 
     // Create an array 
 
     var textList = []; 
 

 
     // Iterate over each table row 
 
     tableElement.find('tbody tr').each(function() { 
 
      // Get the first cells's text and push it inside the array 
 
      var row = $(this); 
 
      if (row.children('td').length > 0) { 
 
      textList.push(row.children('td').eq(0).text()); 
 
      }     
 
     }); 
 
     return textList; 
 
    } 
 
} 
 

 
// Get the array 
 
var myList = getFirstCellTextList($('#your_table')); 
 

 
alert(myList);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table id="your_table"> 
 
    <thead> 
 
    <tr> 
 
    <th>First</th> 
 
    <th>Senond</th> 
 
    <th>Third</th> 
 
    </tr>  
 
    </thead> 
 
    <tbody> 
 
    <tr><td>First cell 1</td><td>Second cell 1</td><td>Third cell 1</td></tr> 
 
    <tr><td>First cell 2</td><td>Second cell 2</td><td>Third cell 2</td></tr> 
 
    <tr><td>First cell 3</td><td>Second cell 3</td><td>Third cell 3</td></tr> 
 
    <tr><td>First cell 4</td><td>Second cell 4</td><td>Third cell 4</td></tr> 
 
    </tbody> 
 
</table>

+0

danke. Es klappt. aber es erhält auch einen Nullwert für den ersten Datensatz, den es bekommt. ist es wegen der , die ich in meiner Tabelle habe? wenn das der Grund ist. Gibt es einen Weg dies zu vermeiden? –

+0

Es wird empfohlen, die Überschrift vom Körper zu trennen. Setzen Sie die th Elemente in eine und die Tabelle Körperreihen innerhalb einer . Überprüfen Sie andernfalls bei jeder Iteration, dass sich in der Zeile ein Element befindet. – kapantzak

0

this.$('td:first') werden Sie die erste td in dem Dokument erhalten. Sie können dann die text() verwenden Sie den Text oder this.$('td:first')[0].innerHTML erhalten die HTML unter td

Verwandte Themen