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