相关疑难解决方法(0)

jQuery:向选择器添加上下文比精炼选择器快得多?

我只是注意到向选择器添加上下文比精炼选择器快得多.

$('li',$('#bar')).append('bla');

比以前快两倍:

$('#bar li').append('bla');

这一般是正确的吗?

jquery css-selectors

12
推荐指数
1
解决办法
1497
查看次数

12
推荐指数
4
解决办法
1731
查看次数

find('a,b')比find('a')+ find('b')慢,为什么?

jsperf的链接

我不是一个jQuery专家(甚至不是一个好用户),我还没有研究它的整个源代码(只有一小部分不能帮助我解决这个问题).

有人可以帮我解释一下吗?

javascript jquery

5
推荐指数
1
解决办法
153
查看次数

Jquery遍历和使用选择器

我正在读一本书,他们展示了几个如何在DOM上选择元素的例子,但他们建议总是在选择器上使用Jquery trasversing方法,例如,如果你在div中有一个列表而不是使用

$("#myList > li")
Run Code Online (Sandbox Code Playgroud)

你应该用

$("#myList").children("li")
Run Code Online (Sandbox Code Playgroud)

大多数时候我使用第一个而不是后者,作者说第二个是首选的,效率更高,但他没有解决原因,有人可以解释这背后的原因吗?

javascript jquery jquery-selectors

5
推荐指数
1
解决办法
109
查看次数

Javascript性能:缓存与无缓存 - 奇怪的结果

我正在尝试优化一些遍历和隐藏/显示一些无序列表的基本jquery脚本.

这是jsperf中的测试用例:http://jsperf.com/caching-vs-no-caching

我在两个浏览器中运行测试:Chrome和IE7/IE8,令人惊讶的是缓存的情况比较慢 - 稍微但仍然如此.

未经优化的版本是:

(function( $ ) {
  $.fn.menuManipulation = function() {
    this.parents().show();
  };
})( jQuery );

$('.menu-vertical li.selected').menuManipulation();
$(".menu-vertical li.selected > ul.static").show();
$('li.static').has('ul').addClass("with-child");
Run Code Online (Sandbox Code Playgroud)

和缓存的:

(function($) {  
    $.fn.menuManipulation = function() {
    this.parents().show();
    };
})(jQuery);

var menu = $('.menu-vertical');
menu.find('li.selected').menuManipulation();
menu.find('li.selected > ul.static').show();
menu.find('li.static').has('ul').addClass("with-child");
Run Code Online (Sandbox Code Playgroud)

有人可以解释我做错了什么,为什么缓存版本似乎更慢?

performance jquery dom

0
推荐指数
1
解决办法
171
查看次数