2016-11-04 63 views
0

在每一行中都有一些包含類.meow的單元格。
如何選擇最後.meow元素每行
下面只是選擇所有.meows代碼...如何在每行中選擇具有某個類的最後一個元素?

$("tr").each(function(){ 
 
    $(".meow").css("border", "3px solid red"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> <td><div class="meow">Meow</div><td> 
 
     <td>Woof</td> 
 
     <td><div class="meow">Meow</div><td> 
 
    </tr> 
 
    <tr> <td> <div class="meow">Meow</div><td> 
 
     <td><div class="meow">Meow</div></td> 
 
     <td>Woof<td> 
 
    </tr> 
 
    </table>

+2

你試過'$( 「喵 」)。最後的()。CSS(「 邊界」,「3px的實紅色「);' – Theo

+0

當然,它只是選擇整個表中的最後一個喵。 –

+0

DOH,對不起!這會得到最後一個.meow PERIOD,而不是每行的最後一個...請參閱下面的解答的答案。 – Theo

回答

3

嘗試像這樣

$("tr").each(function(){ 
 
    $(this).find(".meow:last").css("border", "3px solid red"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> <td><div class="meow">Meow</div><td> 
 
     <td>Woof</td> 
 
     <td><div class="meow">Meow</div><td> 
 
    </tr> 
 
    <tr> <td> <div class="meow">Meow</div><td> 
 
     <td><div class="meow">Meow</div></td> 
 
     <td>Woof<td> 
 
    </tr> 
 
    </table>

+0

您的目標是所有'tr's,而它應該是當前的 –

+0

糟糕...更正了代碼。 – Theo

2

你應該只使用querySelector

document.querySelector(".child:last-of-type"); 

而且你可以在元素中使用querySelector太多,所以使用它在每一行上。

https://jsfiddle.net/L5fdhs7d/

+0

是的,但爲什麼當你有jQuery使用? –

+0

@Iwrestledabearonce。因爲速度更快,完全支持和標準,並且完美運作。 –

+1

是的,但如果他的項目已經大量使用jquery,爲了保持一致性,他應該繼續這樣做...... :) –

1

變化

$("tr").each(function(){ $(".meow").css("border", "3px solid red"); });

$("tr").each(function(){ $(this).find(".meow:last").css("border", "3px solid red"); });

https://api.jquery.com/last-selector/

+0

它只是選擇最後一個喵,在整個表中。不在每一行中。 –

+0

我的壞我沒有看到 - 現在更新了答案,但我看到Theo在我之前得到了:p – Jackthomson

1

使用jQuery的last()功能。
此外,您需要將您的搜索從當前的tr中刪除,因此請使用$(this).find()

$(this).find(".meow").last().css("border", "3px solid red");

+0

工作正常,thanx –

相關問題