Ich habe einen Tisch:

<table id="ItemsTable" >​
    <tbody>
   <tr>
     <th>
       Number
     </th>
     <th>
       Number2
     </th>
    </tr>
  <tr>
    <td>32174711</td>     <td>32174714</td>
  </tr>
  <tr>
    <td>32174712</td>     <td>32174713</td>
  </tr>
</tbody>
</table>

Ich brauche die Werte 32174711 und 32174712 und jeden anderen Wert der Spaltennummer in einem Array oder einer Liste, ich verwende jquery 1.8.2.

6
Milo 5 Okt. 2012 im 23:28

5 Antworten

Beste Antwort
var arr = [];
$("#ItemsTable tr").each(function(){
    arr.push($(this).find("td:first").text()); //put elements into array
});

Siehe diesen Link für die Demo:

http://jsfiddle.net/CbCNQ/

13
Jiangong SUN 5 Okt. 2012 im 19:45

Sie können die map Methode verwenden:

var arr = $('#ItemsTable tr').find('td:first').map(function(){
     return $(this).text()
}).get()

http://jsfiddle.net/QsaU2/

Aus der jQuery map() -Dokumentation:

Beschreibung: Übergeben Sie jedes Element in der aktuell übereinstimmenden Menge durch eine Funktion und erzeugen Sie ein neues jQuery-Objekt, das die Rückgabewerte enthält. . Da es sich bei dem Rückgabewert um ein von jQuery umschlossenes Array handelt, ist es sehr häufig, dass das zurückgegebene Objekt () für die Arbeit mit einem Basisarray verwendet wird.

8
undefined 5 Okt. 2012 im 19:54

Nun, von dem, was Sie haben, können Sie das erste Kind verwenden

var td_content = $('#ItemsTable tr td:first-child').text()
// loop the value into an array or list
1
Huangism 5 Okt. 2012 im 19:32
// iterate over each row
$("#ItemsTable tbody tr").each(function(i) {
    // find the first td in the row
    var value = $(this).find("td:first").text();
    // display the value in console
    console.log(value);
});

http://jsfiddle.net/8aKuc/

3
jrummell 5 Okt. 2012 im 19:39

http://jsfiddle.net/Shmiddty/zAChf/

var items = $.map($("#ItemsTable td:first-child"), function(ele){
    return $(ele).text();
});

console.log(items);​
0
Shmiddty 5 Okt. 2012 im 19:34