0

如何从这个(最后一个)列表项中获取 div?

目前我有这个,这只是丑陋......关于更清洁的选择器/解决方案的任何建议?

var div = ul.append("<li><div></div></li>").contents("li:last-child")[0].children[0];

谢谢!

4

9 回答 9

2

您也可以进行一些不同的添加:

var div = $('<div/>'); 
// do whatever you need to do with the div
$('<li/>').appendTo(ul).append(div);
于 2008-12-15T16:45:37.850 回答
1

使用数组索引只返回 HTMLElement 对象,因此删除了许多 jQuery 的有用功能,所以要小心。我倾向于以这种方式处理它:

var div = $("<div/>").appendTo($("<li/>").appendTo(ul));

从最里面到最外面,这会创建一个列表项,将其附加到您的列表中,创建一个 div,将其附加到您的新列表元素,然后返回 div,仍然包裹在 jQuery 中。如果你愿意,你可以附加一个数组索引来获取 HTMLElement:

var div = $("<div/>").appendTo($("<li/>").appendTo(ul))[0];
于 2008-12-15T17:13:26.950 回答
0

像这样?

var div = ul.append("<li><div></div></li>").contents("li:last-child > div")[0];
于 2008-12-15T16:38:43.667 回答
0

那这个呢:

ul.append("<li><div></div></li>").contents("li:last-child > div").get(0);
于 2008-12-15T16:40:18.157 回答
0

这一点,我认为:

var div = ul.append('<li><div></div></li>').find("li:last div");
于 2008-12-15T16:49:37.263 回答
0

这个怎么样:

 var div = $('<li><div/></li>').appendTo(ul).find('div');
于 2008-12-15T16:50:03.957 回答
0

只是为了完整性:

var div = $('<div></div>').appendTo($("<li></li>").appendTo(ul));
于 2008-12-15T16:52:47.397 回答
0
var div = ul.append("<li><div></div></li>").find('div').get(0);

我想这就是你要找的。

于 2008-12-15T17:04:03.443 回答
0

我的解决方案是:

var div = ul.append("<li><div></div></li>").find("div:last");
于 2008-12-15T18:44:29.387 回答