jq中选择器的效率问题

$(‘.class‘)  $(‘div .class‘)  $(‘div.class‘) 三个的执行效率

$(‘.class‘)>$(‘div .class‘)>$(‘div.class‘)

原因:

$(‘.class‘)相当于调用了原生js里面的doucmen.getElementsByClassName()方法,在低版本的ie中会比较慢,但是在高版本浏览器中的速度是很快的

$(‘div .class‘) 这个相当于是转换成了 $(‘div‘).find(‘.class‘)

$(‘div.class‘)这个先找到class名称为class的元素,然后再一个个的过滤 找到他的父级为符合条件的

时间: 2024-11-04 21:43:19

jq中选择器的效率问题的相关文章

jq中选择器的选择问题

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> div{ height: 100px; width: 200px; background-color: coral; margin: 10px;} </style> <script s

JQuery日记_5.13 Sizzle选择器(六)选择器的效率

当选择表达式不符合快速匹配(id,tag,class)和原生QSA不可用或返回错误时,将调用select(selector, context, results, seed)方法,此方法迭代DOM选择.过滤元素, 在DOM树非常大的时候为了保证效率,应该保证html设计的合理,尽量使用可快速匹配(id,tag,class)的表达式,其次是QSA支持的选择器,尽量不要使用jquery扩展的selector和嵌套selector,然后是尽量不要使用位置伪类(它是从左向右查找,需要多次循环内套循环遍历)

JQ中bind(),live(),delegate()事件方法的区别

[导读] bind(), live(), 和 delegate()这三个方法的区别并不是非常明显.弄清楚这些区别对我们写出简介的代码和预防我们的应用中出现bugs是非常有帮助的. jQuery团队在1 7版本中发布了一个用于绑定事件的新方法叫 bind(), .live(), 和 .delegate()这三个方法的区别并不是非常明显.弄清楚这些区别对我们写出简介的代码和预防我们的应用中出现bugs是非常有帮助的. jQuery团队在1.7版本中发布了一个用于绑定事件的新方法叫做on.这个方法包含

JQ基本选择器

JQ选择器采用CSS和Xpath选择器语法规范,满足用户在DOM中快速匹配元素或元素集合. 1.JQ支持CSS1.CSS2.CSS3.不同版本的所有选择器,而早期的很多浏览器并没有完全支持CSS3版本的选择器. 2.JQ支持不同的主流浏览器,因此使用JQ选择文档的时候就不用考虑浏览器的兼容问题了. JQ基本选择器包含的有: 1.id选择器(#id). 2.类型选择器(element). 3.类选择器(.class). 4.通配选择器(*). 5.分组选择器(selector1.selector2

jq中ajax的使用

jq中ajax必须在服务器环境下使用 $.ajax({ url:"json.json", //请求的url地址 dataType:"json", //返回格式为json type:"GET", //请求方式 beforeSend:function(){ $('#div3').html('加载中...') }, success:function(data,status){//第一个参数包含获取的内容,第二个参数为执行的状态 var tt="

JQ中的clone()方法与DOM中的cloneNode()方法

JQ中的clone()方法与DOM中的cloneNode()方法 cloneNode()定义和用法 cloneNode()方法创建节点的拷贝,并返回该副本. 语法: node.cloneNode(deep);  其接收一个可选参数"deep",为布尔类型,默认是false. 当设置为true,克隆当前节点,属性及当前节点的后代.若设置为false,仅仅克隆当前元素节点本身. 扩展:  使用cloneNode()方法,当被克隆的节点绑定了事件处理程序,事件处理程序是否会被一同克隆,这个我

浅谈css中选择器的优先级

学习web前端,主要学习的课程html5,css,js,ajax等一些基本的编程语言,当然这是一门高深的学问.而这篇文章主要是谈谈我对css中选择器优先级的一些简单的理解与看法,希望对您的学习提供一些帮助.好了,废话不多说了,让我们开始进入主题吧. css中文解释是“层叠式样式表”,在这里我要说一下,所谓层叠样式表的意思就是说我们可以给一个标签或者文本内容同时添加许多种样式,简单点说就是可以通过多种方式去支配同一个东西.那么就会出现这样的问题了——选择优先级的问题.就是谁的属性能起到控制的最终目

实测STM32F4中printf的效率问题

实测STM32F4中printf的效率问题 一直认为printf所做的工作就是格式化字符串,然后依次调用fputc函数发送出去.于是以前都认为printf函数的瓶颈是在fputc这里,是因为发送一个字节所占的时间太长,才导致printf效率慢.也就是说,一直认为如果串口的波特率设置成115200的话,printf至少也是能达到115200的波特率的. 而这几天在学习ucOS,于是想到,如果printf的瓶颈是在等在串口发送完成的话,那么我在等待串口发送完成中断的时候是不是挂起一个信号量,然后就可

编程学习中要注意效率和感受

早一个多月,收到了一位网友的求助信,请我帮他做一道程序题.这样的求助我是不会直接解答的.如果要想通过读程序来学习,可读的程序太多了,不在乎由我写的这一段程序. 我给他的回信是,他可以自己做出来一个版本,无论对错,我们就他的做法进行讨论.这是我认为有效的交流.提问者没有做,靠着人给讲,这种学习方式,可以休矣.无论对错.好坏,他自己做过了,针对他自己的讨论点就出来了.我当时的答复是: 我的时间有限,将你做过的给我发来,并提出具体问题再讨论为佳.在学习中,这种交流的方式(有一个问题,不说自己的见解,直