3

我在使用 jQuery 获取我最后一个孩子的 ID 时遇到问题。

这是我的代码有问题:http: //jsfiddle.net/2ePeP/

我的 HTML 代码

<div>
    <p class="category" id="category_1">Appetizer</p>
    <p class="category" id="category_2">Beaverages</p>
    <p class="category" id="category_3">Dessert</p>
    <button type="button" class="add-category">Add</button>
</div>

我的 JavaScript 代码

$('.add-category').click(function() {
    alert($('.category:last-child').attr('id'));
});

任何帮助将不胜感激!!!

4

2 回答 2

4

使用:last.last()

$('.category:last');

或者

$('.category').last()

演示

于 2013-10-14T09:04:54.723 回答
0

.last-child只会尝试匹配父元素的最后一个子元素 - 请参阅 MDN :last-child,但它<button>是父元素中的最后一个子元素<div>。没有元素与class="category"那也是最后一个孩子。

CSS确实提供了一个可以工作的选择器,它匹配

指定元素的最后一次出现,即使它没有在 HTML 中最后出现。

(来自 CSS 技巧:last-child

所以下面将记录id最后一个class="category"元素的。

$('.add-category').click(function() {
    console.log($('.category:last-of-type')[0].id);
});
于 2013-10-14T09:16:00.630 回答