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

accessing child td from tr using dynamic variable

本文关键字:访问 td tr 动态 变量      更新时间:2023-09-26

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

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

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

您不需要在foundElement周围使用单引号。

选择器应为:

td:nth-child(3)

或在变量替换为的字符串中

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

这是您的解决方案和其他方法。。。演示链接如下:

演示: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