簡體   English   中英

如何在表格中選擇元素的父行?

[英]How can I select an element's parent row in a table?

我有以下功能:

$("#example tbody").click(function(event) {
        $(oTable.fnSettings().aoData).each(function (){
            $(this.nTr).removeClass('row_selected');
        });
        $(event.target.parentNode).addClass('row_selected');
    });

當用戶單擊表中的td元素時,它會將row_selected類添加到該行。 但是,當用戶單擊td內的輸入元素時,它會將row_selected類添加到td。

有沒有辦法可以更改event.target.parentNode,以便代替父類將它添加到父tr?

使用closest()

$(event.target).closest('tr').addClass('row_selected');

更改您的處理程序以使用jQuery的事件委派而不是您自己的...

$("#example tbody").on("click", "tr", function(event) {

...那么你可以用this ......

$(this).addClass('row_selected');

你可以使用parentsUntil()函數,這有點像尋找祖先。 我不記得祖先的功能,但這將有效:

$(event.target).parentsUntil("tr").addClass('row_selected');

你可以試試這個

$(event.target).closest('tr').addClass('row_selected');

而不是你的線

$(event.target.parentNode).addClass('row_selected');

使用nearest(),您將能夠將row_selected類應用於您單擊的元素的最近的tr元素,該元素可以是td或其中的任何其他元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM