其他 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 選擇器將被破壞。