2016-01-02 40 views
-2

假設我有一個包含7列的表格,最後一列有一個按鈕。一個按鈕將在所有行的最後一列出現。現在我希望當我點擊任何行最後一列中的任何按鈕時,我需要將css類添加到該表格行中單擊按鈕的第2,第3,第4個單元格。如何通過JQuery實現這一點?jquery:如何通過序號位置添加css類到表格單元格

我不能拿出任何代碼,因爲我不知道如何通過點擊按鈕發生的行的序號位置來訪問表格單元格。尋找想法來完成這一點。

+0

,你可以發佈你的HTML? – digglemister

+0

這裏完整的示例html存在https://jsfiddle.net/qvy0y8sk/1/ – Mou

回答

0

請看看下面的更新小提琴:

https://jsfiddle.net/qvy0y8sk/7/

在這裏,我已經使用:nth-child找到所需要的細胞:

$(document).ready(function(){ 
    $(".edit-user,.save-user").click(function(){ 
    var tr = $(this).closest("tr"); 
    $(tr).find("td:nth-child(2)").addClass("newClass"); 
    $(tr).find("td:nth-child(3)").addClass("newClass"); 
    $(tr).find("td:nth-child(4)").addClass("newClass"); 
    }) 
}) 
+1

真的非常感謝您指出這一點......! – vijayP

0

this設置爲您的處理程序中被點擊的元素。用它來備份和獲取父行,然後你可以找到孩子

+0

如何通過序號位置找到子td? – Mou

+1

我不會推薦使用序號位置,但是您可以(如果您堅持要使用n次子選擇器),您可以將語義類名添加到這些行嗎?這使得更好,更健壯的代碼 –

2

如果綁定在你的按鈕,然後在處理程序中,你可以找到父行與

$(this).closest('tr'); 
從那裏你可以

然後找到具體的TDS

$(this).closest('tr').find('td').eq(3).addClass('whatever'); 

EQ()接受一個索引位置,這將讓你從結果集進行操作在一個特定的jQuery對象。

+0

等式(3)的含義是什麼? – Mou

+0

3是位置,這是0基於 – Taplar

相關問題