如何访问对象中的元素?

时间:2013-03-29 12:52:36

标签: jquery

例如我有:

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?

5 个答案:

答案 0 :(得分:3)

你可以这样做:

my_ul.find('li:last');

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

$('li:last', my_ul);

请参阅demo

答案 1 :(得分:0)

试试这个

my_ul.find('li:last');

答案 2 :(得分:0)

当然!

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

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

my_ul.children("li:last");

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

为读者练习:找出哪一个更高效: - )

答案 3 :(得分: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');

您可以访问所需的元素。

答案 4 :(得分: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