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