<table id="tb1" border="0" align="left" cellpadding="2" cellspacing="2" class="formTable" width="100%">
<tbody>
<tr>
<th class="coltextleft" colspan=3> seats </th>
<th>Total Seat Count : <span id="seats">0</span></th>
<th>SALC <input name="txt1" type="text" id = "txt1"></th>
<th>Column name </th> <th> <input name="id_reset" type="button" id="id_reset" value="RESET" ></th>
</tr>
<tr>
<td> </td>
<td id="zxx"> Col1</td>
<td> Col2</td>
<td> Col3</td>
<td> COL4</td>
<td>COL5</td>
<td>COL6</td>
</tr>
<tr id ="rnum_$i"><td>$i</td>
<td><input type="text" id="id_seats$i" name="seats[]"/></td>
<td>HTML ELEMENT OF TYPE SELECT </td>
<td>HTML ELEMENT OF TYPE TEXT</td>
<td>HTML ELEMENT OF TYPE TEXT</td>
<td>HTML ELEMENT OF TYPE TEXT</td>
<td>HTML ELEMENT OF TYPE TEXT</td>
<tr>
</tbody>
</table>假设对于上面的html表,我有5行,我们有一个按钮"Addone row“,它将一个新行加到表中。
var num = $('#id_seats1').parent().parent().parent().children().last().children().html()*1;如何计算上述html表的Jquery语句。此语句的输出给出了上述html表中存在的行数。你能展示一下这条语句的一步一步执行吗
var num = $('#id_seats1').parent().parent().parent().children().last().children().html()*1;请帮帮忙
发布于 2011-02-08 03:27:26
$('#id_seats1')这将选择<input id='id_seats1'>元素。
.parent().parent().parent()这将依次选择td、tr和tbody元素。
.children().last()这将选择tbody元素的最后一个子元素,它是一个tr
.children().html()这将选择最后一行中所有td的html内容。
*1这会将最后一行的内容(包含该行中所有单元格内容的字符串)转换为数字。
由于第一个单元格包含一个计数器$i变量,因此它是最终分配给var num的值
发布于 2011-02-08 04:49:53
jQuery语句不会返回表中的行数,而是返回表中最后一个元素的子元素的等价物的内容。
用于查找表中总行数的jQuery片段应该是,
var num = $('#id_seats1').parent().parent().parent().children().length - 2;并且可以优化为,
var num = $('#id_seats1').closest('tbody').children().length - 2;但理想的解决方案是,
var num = $('#tb1 > tbody > tr').length - 2;https://stackoverflow.com/questions/4925493
复制相似问题