0

例如我有:

var my_ul = jQuery('<ul/>');
jQuery('<li/>').appendTo(my_ul);
jQuery('<li/>').appendTo(my_ul);
jQuery('<li/>').appendTo(my_ul);
jQuery('<li/>').appendTo(my_ul);

是否可以访问ul中的最后一个li?

4

5 回答 5

3

你可以这样做:

my_ul.find('li:last');

或者,您可以使用 jquery 构造函数的上下文参数:

$('li:last', my_ul);

演示

于 2013-03-29T12:54:05.747 回答
0

试试这个

my_ul.find('li:last');

于 2013-03-29T12:54:51.753 回答
0

自然!

这是 jQuery 背后的真正魔力:选择器。我强烈建议您阅读所有这些,因为它们都有一个目的,其中一些非常非常强大。如果您对性能/优化感兴趣,还要记下模拟的伪选择器,因为它们通常较慢。

要直接回答您的问题,以下所有代码将为您提供 ul 中的最后一项:

my_ul.children("li:last");

my_ul.children("li").last();

读者练习:找出哪一个性能更好:-)

于 2013-03-29T12:55:31.427 回答
0
var my_ul = jQuery('<ul/>');
x1 = jQuery('<li/>').appendTo(my_ul);
x2 = jQuery('<li/>').appendTo(my_ul);
x3 = jQuery('<li/>').appendTo(my_ul);
x4 = jQuery('<li/>').appendTo(my_ul);

x4.html('I\'m last');

您可以访问所需的元素。

于 2013-03-29T12:56:30.820 回答
0
var my_ul = $('<ul/>');
for(i=0;i<4;i++){
  my_ul.append("<li> index: "+i+"</li>");
}

alert( my_ul.find('li:last').text() ); // .find() faster than constructor
于 2013-03-29T13:05:53.840 回答