我有下表:
<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隐藏值。任何帮助将不胜感激。感谢名单。
答案 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());
});