其他 API 方法

jQuery 提供了多种可用于 DOM 操作的方法。

第一个是 .empty() 方法。

想象一下以下标记:

<div id="content">
  <div>Some text</div>
</div>

通过调用 $('#content').empty();,内部 div 将被删除。这也可以通过使用 $('#content').html(''); 来实现。

另一个方便的函数是 .closest() 函数:

<tr id="row_1">
  <td><button type="button" class="delete">Delete</button>
</tr>

如果要查找与其中一个行单元格中单击的按钮最近的行,则可以执行以下操作:

$('.delete').click(function() {
  $(this).closest('tr');
});

由于可能会有多行,每行都有自己的 delete 按钮,我们在 .click () 函数中使用 $(this) 将范围限制为我们实际点击的按钮。

如果你想获得包含你点击的 Delete 按钮的行的 id,你可以这样:

$('.delete').click(function() {
  var $row = $(this).closest('tr');
  var id = $row.attr('id');
});

通常认为使用 $(美元符号)为包含 jQuery 对象的变量添加前缀,以明确变量是什么。

.closest() 的替代方法是 .parents() 方法:

$('.delete').click(function() {
  var $row = $(this).parents('tr');
  var id = $row.attr('id');
});

并且还有一个 .parent() 函数:

$('.delete').click(function() {
  var $row = $(this).parent().parent();
  var id = $row.attr('id');
});

.parent() 只上升到 DOM 树的一个级别,因此它非常不灵活,如果你要将删除按钮更改为包含在 span 中,那么 jQuery 选择器将被破坏。