Jquery搜索 - 什么计算更快?

时间:2013-04-03 02:51:00

标签: jquery search

我试图让我的脚本逻辑尽可能快地计算。

$("ul").prepend( $("ul li:last") );

VS

$("ul").prepend( $(this).find("li:last") );

基本上,将最后一个列表元素放在列表前面的最快方法是什么?

2 个答案:

答案 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'));

Benchmark