使用jQuery检索td隐藏单元格

时间:2011-04-10 20:14:45

标签: jquery hidden html-table

我有下表:

<table id="mytable">
<tr> 
<th class="hidden">id</th> 
<th>name</th> 
</tr> 
<tr> 
<td class="hidden">87</td> 
<td>Isle of Palms</td> 
</tr> 
</table> 

然后这个jQuery代码隐藏id列:

<script> 
$(function() {
$('.hidden').hide();
});
</script> 

当我点击任何一行但我找不到合适的选择器时,我需要获取id cell隐藏值。任何帮助将不胜感激。感谢名单。

2 个答案:

答案 0 :(得分:0)

试试这个:

$('tr').click(function () {

     var id = $(this).find('td.hidden').html();
});

更新

$('tr').click(function () {

     var id = $(this).find('td.hidden:first').html();
});

如果您有许多列并想要选择第一个列,则可以使用:first。请记住,这将为您表中的所有行添加click事件。我想你只对你体内的行感兴趣,你的例子没有。所以我会这样做:

<table id="mytable">
  <thead>  
    <tr> 
      <th class="hidden">id</th> 
      <th>name</th> 
    </tr>
  </thead>
  <tbody> 
    <tr> 
      <td class="hidden">87</td> 
      <td>Isle of Palms</td> 
    </tr> 
  </tbody>
</table> 

然后为tbody rows设置点击事件

$('tbody tr').click(function () {

     var id = $(this).find('td.hidden:first').html();
});

希望有所帮助!

答案 1 :(得分:0)

我假设你.text()<td class="hidden">87</td>

87

您可以在<tr/>上注册点击处理程序,然后找到您的<td/>

$("tr").click(function(){
    var $idCell = $(this).find("td.hidden");
    if($idCell.length == 1)
    {
      var id = $idCell.text();
    }
});

修改

稍微好一点的选择可能是使用.filter(),因此您只需注册有子<td class="hidden"/>的事件处理程序

$("tr").filter(function(){
    return $(this).children("td.hidden").length == 1;
}).click(function(){
    alert($(this).find("td.hidden").text());
});