jQuery核心函数

来源:互联网 发布:stm32软件定时器 编辑:程序博客网 时间:2024/06/06 06:38

jQuery(expression, context)

这个函数通过接收一个CSS选择器context,查找指定的字符串expression。它能缩小选择器在DOM中搜索的方位,达到节省时间,提高效率的目的。

普通方式:$('.myDiv'); 改进方式:$('.myDiv', $('#parentNode'));


普通方式将会从dom第一个节点开始查找,而改进方式将会通过getElementById('parentNode')查找到父节点,然后再通过父节点find('.myDiv'),效率更高。


最快的方式是采用ID选择器,它通过getElementById()方法查找,一一对应。


其次是tag标签,如$('head'),通过getElementByTagName()方法查找。在重复使用同一个标签时,将selector缓存为变量,避免查找带来不必要的开销。

function hasEitherClass(element, className1, className2) {

return element.className == className1 || element.className == className2;

}

其中element将会被重复搜索

同理,使用方法链如$('#myDiv').removeClass('off').addClass('on').appendTo($('#parentNode'));也是减少选择器的多次查找使用。


有类似这样的代码$('.dialog > .content > .attr > .lv > span').html('LV10');认为这种结果查找效率会按照类似层次关系进行,其实也只是一种错觉而已,上面改写成

$('.dialog .content .attr .lv span').html('LV10');也没问题,查找效率同最初提到的普通方式没什么区别。





原创粉丝点击