2012-11-19 62 views
2

符合下表的jQuery選擇文本:從特定行

<table id="languages" border="0" cellspacing="1"> 
    <thead> 
    <tr> 
     <th>Language</th> 
     <th>Type</th> 
     <th>Invented</th> 
    </tr> 
    </thead> 
    <tbody> 
</tr> 
    <tr> 
     <td>Ruby</td> 
     <td>Dynamic</td> 
     <td>1993</td> 
    </tr> <table id="languages" border="0" cellspacing="1"> 
     <thead> 
     <tr> 
      <th>Language</th> 
      <th>Type</th> 
      <th>Invented</th> 
     </tr> 
     </thead> 
     <tbody> 
     <tr> 
      <td>Java</td> 
      <td>Static</td> 
      <td>1995</td> 

    <tr> 
     <td>Smalltalk</td> 
     <td>Dynamic</td> 
     <td>1972</td> 
    </tr> 
    <tr> 
     <td>C++</td> 
     <td>Static</td> 
     <td>1983</td> 
    </tr> 
    </tbody> 
</table> 

我怎麼會選擇從第三行中的所有數據?我需要選擇Smalltalk,Dynamic和1971.以下選擇該行。我需要這些數據。

#languages tr:eq(3) 

感謝

+0

開盤後第一個「」你是關閉這是不打開,並使用相同的ID爲多個表是不是一個好主意,這不會給你想要的標記。 – Jai

回答

0

只需使用

$('#languages tr:eq(3)').text() 

獲得整個文本

$('#languages tr:eq(3) td').map(function(){return $(this).text()}).toArray() 

得到文本的數組:["Smalltalk", "Dynamic", "1972"]

但請注意,您的html有錯誤,您的行似乎在'#languages tr:eq(2)',而不是'#languages tr:eq(3)'

Demonstration (open the console)

0

把不規範的屬性tr標籤:<tr key="1215">其中數據庫表鍵的ID,然後選擇行和細胞:$('[key=3]').find('td').each(...工作樣本http://jsbin.com/ofasin/1/

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script> 
<meta charset=utf-8 /> 
<title>JS Bin</title> 
</head> 
<body> 
<table id="languages" border="0" cellspacing="1"> 
    <thead> 
    <tr> 
     <th>Language</th> 
     <th>Type</th> 
     <th>Invented</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr key="1"> 
     <td>Ruby</td> 
     <td>Dynamic</td> 
     <td>1993</td> 
    </tr> 
    <tr key="2"> 
     <td>Java</td> 
     <td>Static</td> 
     <td>1995</td> 
    </tr> 
    <tr key="3"> 
     <td>Smalltalk</td> 
     <td>Dynamic</td> 
     <td>1972</td> 
    </tr> 
    <tr key="4"> 
     <td>C++</td> 
     <td>Static</td> 
     <td>1983</td> 
    </tr> 
    </tbody> 
</table> 
    <script> 
    var row = new Array(); 
    $('[key=3]').find('td').each(function(){ 
     row.push($(this).text()); 
    }); 
    alert('' + row); 
    </script> 
</body> 
</html> 
+0

感謝所有的答覆。我正在嘗試一些建議。它看起來像我複製和粘貼錯誤。 –