jQuery如何在此代码中获取div?

时间:2008-12-15 16:36:22

标签: jquery jquery-selectors

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

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

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

谢谢!

9 个答案:

答案 0 :(得分:2)

您也可以采用不同的方式添加:

var div = $('<div/>'); 
// do whatever you need to do with the div
$('<li/>').appendTo(ul).append(div);

答案 1 :(得分:1)

使用array-index只返回HTMLElement对象,因此删除了很多jQuery的有用功能,所以要小心。我倾向于这样接近它:

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

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

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

答案 2 :(得分:0)

喜欢这个吗?

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

答案 3 :(得分:0)

这个怎么样:

ul.append("<li><div></div></li>").contents("li:last-child > div").get(0);

答案 4 :(得分:0)

我认为:

var div = ul.append('<li><div></div></li>').find("li:last div");

答案 5 :(得分:0)

这个怎么样:

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

答案 6 :(得分:0)

仅为了完整性:

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

答案 7 :(得分:0)

var div = ul.append("<li><div></div></li>").find('div').get(0);

我认为这就是你要找的东西。

答案 8 :(得分:0)

我的解决方案是:

var div = ul.append("<li><div></div></li>").find("div:last");