0

jquery .eq() 関数を使用して<td>ofにアクセスする必要があるという問題があります。<tr>以下にコードを記載しますので、よろしければご覧ください。

var foundElement = 3;

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

上記のステートメントは、ステートメント間の変数として「foundElement」を使用するとエラーになります。これに対する別の解決策または宣言を教えてください。

4

2 に答える 2

2

を一重引用符で囲む必要はありませんfoundElement

セレクターは次のようにする必要があります。

td:nth-child(3)

または、次のように変数を置換した文字列で:

$(this).children("td:nth-child(" + foundElement + ")")...
于 2012-08-24T09:27:18.723 に答える
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

于 2012-08-24T11:11:54.203 に答える