2012-08-24 26 views
0

我遇到了一個問題,需要使用jquery .eq()函數訪問的<tr>。下面是提到的代碼請看看。使用動態變量從tr訪問子td

var foundElement = 3; 

var values = $(this).children("td:nth-child('" + foundElement + "')").map(function() {... 

上述語句給出了在語句之間使用「foundElement」作爲變量的錯誤。請給我一個替代解決方案或聲明。

回答

2

你不需要圍繞foundElement單引號。

的選擇應該是:

td:nth-child(3) 

或與變量替換字符串:

$(this).children("td:nth-child(" + foundElement + ")")... 
+0

哎呀... !!!對不起:)這太傻了:)謝謝反正...... – teenu

+0

樂於幫忙。有時問題只是需要另一個人去看看:-) – andyb

0

這裏是另一種方式...和演示鏈接你的解決方案如下:

演示:http://codebins.com/bin/4ldqp82

HTML:

<table cellspacing="3" cellpadding="5" border="1"> 
    <tr> 
    <th> 
     col 1 
    </th> 
    <th> 
     col 2 
    </th> 
    <th> 
     col 3 
    </th> 
    <th> 
     col 4 
    </th> 
    <th> 
     col 5 
    </th> 
    </tr> 

    <tr> 
    <td> 
     data cell 11 
    </td> 
    <td> 
     data cell 21 
    </td> 
    <td> 
     data cell 31 
    </td> 
    <td> 
     data cell 41 
    </td> 
    <td> 
     data cell 51 
    </td> 
    </tr> 

    <tr> 
    <td> 
     data cell 12 
    </td> 
    <td> 
     data cell 22 
    </td> 
    <td> 
     data cell 32 
    </td> 
    <td> 
     data cell 42 
    </td> 
    <td> 
     data cell 52 
    </td> 
    </tr> 

    <tr> 
    <td> 
     data cell 13 
    </td> 
    <td> 
     data cell 23 
    </td> 
    <td> 
     data cell 33 
    </td> 
    <td> 
     data cell 43 
    </td> 
    <td> 
     data cell 53 
    </td> 
    </tr> 
</table> 

jQuery的

$(function() { 
    $("table tr").each(function() { 
     //Check If TD Exists...Then.. 
     if ($(this).children("td").length > 0) { 
      var foundElement = 3; 
      alert($(this).children("td:nth-child(" + foundElement + ")").text()); 
     } 
     //OR Alternate Way is 
     //Check If TD Exists...Then.. 
     /*if($(this).find("td").length>0){ 
       var nthElement=3; 
       alert($(this).find("td:eq("+(nthElement-1)+")").text()); 
     }*/ 


    }); 
}); 

演示:http://codebins.com/bin/4ldqp82