编辑很抱歉混淆我正在寻找右边的单元格>。<
您只想询问如何使用jquery获取表格中的下一个单元格(右侧)。我尝试使用alert(result)命令来捕获结果,但它给了我一个未定义的值。当使用alert(div)获取div的属性时,它会给我所需的结果。
HTML
<div id='tab1' class='2nd_shift'>
<table border='1' id='table_id' style='margin: 10px' ; cellpadding='1' cellspacing='1' bordercolor='#333333' bgcolor='#C0CCD0'>
<tr>
<th><font size='2' face='Baskerville' id='systems' class='systems'>SYSTEMS</font></th>
<th><font size='2' face='Baskerville' id='schedule' class='schedule'>SCHED</font></th>
<th><font size='2' face='Baskerville' id='start_time' class='start_time'>START_TIME</font></th>
<th><font size='2' face='Baskerville' id='end_time' class='end_time'>END_TIME</font></th>
<th><font size='2' face='Baskerville'>DURATION</font></th>
<th><font size='2' face='Baskerville'>DONE_BY</font></th>
<th><font size='2' face='Baskerville'>REMARKS</font></th>
</tr>
<tr>
<td><font size='2' color='red' face='Baskerville'><b>2ND SHIFT</b></font></td>
</tr>
<tr>
<td><font size='1' face='Baskerville'></font></td>
<td><font size='1' face='Baskerville'></font></td>
<td><input type='text' style='width: 120px' font size='1' face='Baskerville' onclick='youClickStart()' class='start_time' id=''></font></td>
<td><input type='text' style='width: 120px' font size='1' face='Baskerville' onclick='youClickEnd()' class='end_time' id=''></font></td>
<td><font size='1' face='Baskerville'></font></td>
<td><font size='1' face='Baskerville'></font></td>
<td><input type='text' style='width: 120px' font size='1' face='Baskerville' class='remarks' id=''></font></td>
</tr>
</tr>
</table>
</div>
的Javascript
$(document).ready(function () {
$('.remarks, .start_time, .end_time').blur(function () {
var div = $(this).parent().closest('div').attr('class');
var column = $(this).attr('class');
var id = $(this).attr('id');
var getval = $(this).val();
$('#getdiv').val(div);
$('#getcolumn').val(column);
$('#getid').val(id);
$('#getvalue').val(getval);
/*condition*/
if (column == 'end_time') {}
if (column == 'start_time') {
var result = $(this).closest('td').next().attr('.class');
alert(result);
alert(div);
}
});
});
提前致谢=)
答案 0 :(得分:1)
左侧的下一列是上一个元素,因此请使用.prev()
var result = $(this).closest('td').prev().attr('class');
答案 1 :(得分:0)
有两个问题:
var result = $(this).closest('td').next().attr('.class');
.class
的属性 - 注意点。您需要名为class
的属性。<td>
所以它上面没有任何类;修复第一个问题时,你可能会得到一个空字符串。除此之外,您的HTML看起来不正确。您正在创建<input>
元素,但之后会立即生成</font>
标记。