我试图让我的脚本逻辑尽可能快地计算。
$("ul").prepend( $("ul li:last") );
VS
$("ul").prepend( $(this).find("li:last") );
基本上,将最后一个列表元素放在列表前面的最快方法是什么?
答案 0 :(得分:1)
我建议这样做。
var $list = $("ul");
$list.prepend($list.children().last());
否则你最终会多次选择相同的元素,如果你担心性能,这是你想要避免的。
编辑:Per @ Jack的评论如下,他是对的。当页面上有多个<ul>
元素时,这将无法正常工作。这样的事情可能会更好。
$("ul").each(function(){
var $thisList = $(this);
$thisList.prepend($thisList.children().last());
});
答案 1 :(得分:1)
如果你想要快,你就不会使用jQuery:
void function(lists) {
for (var i = 0; i < lists.length; ++i) {
var children = lists[i].children;
if (children.length > 1) {
lists[i].insertBefore(children[children.length - 1], children[0]);
}
}
}(document.getElementsByTagName('ul'));