我有以下代码并且它可以工作但是获取表格的正确方法是添加
HTML
<div>
<h4 class="titlebar">
Skills
<small><a onclick="return false;" href="/add/" data-span="3">Add</a></small>
</h4>
<div class="body">
<table class="table">
<tbody>
<tr><td width="125"></td></tr>
</tbody>
</table>
</div>
</div>
JQuery的
var TableBlock = $(this).closest('.titlebar').next().children('table');
this
指向添加链接
答案 0 :(得分:3)
您没有提到谁是<div class="body">
及<h4 class="titlebar">
的父母,这是至关重要的。
$(this).closest('table-parent(the missing parent)').find('table');
find
优于childern
,因为即使表格嵌套在未来的开发中,它也能正常工作。
如果您只想要第一个匹配的表:
.find('table').first();
//Or
.find('table:first');
<强>更新强>
根据您的问题更新,我会向家长div
添加一个班级或id
:
<div class="parent" >
<h4 class="titlebar">
...
然后:
$(this).closest('div.parent').find('table');
如果您无法更改DOM:
$(this).closest('h4.titlebar').parent().find('table');
或者:
$(this).closest('h4.titlebar').siblings('.body').find('table');