我有一个HTML表,它包含两个级别的行,例如:
我在第一级的每一行都有一个按钮,它执行JavaScript函数,并将按钮传递给函数
onclick="js:BillingAddNewChildLine(this);"
我需要一种方法来查找函数内部(BillingAddNewChildLine)单击该按钮的第一级行下的最后一个第二级行:
这个选择器将返回表的最后一行,有没有办法使用jQuery选择器来获得我需要的东西?
$(".BillingTable > tbody tr:last")
非常感谢
答案 0 :(得分:1)
如果为所有父级(第1级)行提供“父级”类,则可能更容易实现所需的内容。
<tr class="parent">
<td>1</td>
<td><button>Get Last Child</button></td>
<td>Description</td>
</tr>
<tr>
<td>1.1</td>
<td></td>
<td>Description</td>
</tr>
然后在按钮的onclick事件中,您可以使用以下命令获取最终子项(或第二级行,在您的示例中为1.2和2.2):
$(this).closest('tr').nextUntil('.parent').last();
(可以使用inserAfter
或after
方法添加新行,请参阅随附的小提琴)
答案 1 :(得分:0)
我假设您正在动态创建表,但即使您不是,也可以为每个相同级别的行提供类似
的类<tr class="level-1">
<td>
<button class="btn" data-level="level-1"></button>
</td>
</tr>
<tr class="level-1">
<td></td>
</tr>
<tr class="level-2">
<td>
<button class="btn" data-level="level-2"></button>
</td>
</tr>
然后
$('btn').click(function(){
var level = $(this).attr('data-level');
var row = row.last();
});
答案 2 :(得分:0)
$('td').live('click', function(){
tempval=parseInt($(this).html());
newval=tempval+1;
$(this).parents('table').append('<tr><td class="valuePlace">'+ newval +'</td><td>hi</td></tr>');
})