使用动态变量从tr访问子td

时间:2012-08-24 09:22:49

标签: javascript jquery parent-child

我遇到了一个问题,我需要使用jquery .eq()函数访问<td>的{​​{1}}。下面是提到的代码,请看一下。

<tr>

上述语句给出了在语句之间使用“foundElement”作为变量的错误。请给我一个替代解决方案或声明。

2 个答案:

答案 0 :(得分:2)

foundElement周围不需要单引号。

选择器应为:

td:nth-child(3)

或带有变量替换的字符串:

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

答案 1 :(得分: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