在包含行标题和列标题的表中,给定列标题文本和单元格文本,如何选择单元格(td)?

时间:2013-11-12 11:55:11

标签: javascript jquery html css

鉴于此表:

<table border>
    <tbody>
        <tr>
            <th></th>
            <th>A</th>
            <th>B</th>
            <th>C</th>
            <th>D</th>
        </tr>
        <tr>
            <th>B</th>
            <td id="i0j0">sa</td>
            <td id="i0j1">sa</td>
            <td id="i0j2">sb</td>
            <td id="i0j3">sa</td>
        </tr>
        <tr>
            <th>C</th>
            <td id="i1j0">sb</td>
            <td id="i1j1">sb</td>
            <td id="i1j2">sb</td>
            <td id="i1j3">sb</td>
        </tr>
        <tr>
            <th>D</th>
            <td id="i2j0">sc</td>
            <td  id="i2j1">sc</td>
            <td id="i2j2">sc</td>
            <td></td>
        </tr>
    </tbody>
</table>

如果所需的对是列标题“B”且单元格为“sa”,则应返回标识为i0j1的td。如果该对是列标题“B”且单元格为“sb”,则应返回标识为i1j1的元素。

我之前提出这个问题时遇到了问题,但目前还不是很清楚。如果您需要更多信息,请与我们联系。可以在此处找到带有它的表示的JSBin:http://jsbin.com/amowUBA/7/edit

1 个答案:

答案 0 :(得分:0)

我最终得到了这个场景:

  _parameter = 'B';
  _state = 'sa';  

  // columns are in the first row
  var column = $('tr:eq(0) > th:contains("'+_parameter+'")');
  var cell = $('td:nth-child('+parseInt(column.index()+1)+'):contains("'+_state+'")');

要查看其实施情况,请查看:http://jsbin.com/amowUBA/9/edit

相关问题