jQuery性能 - 通过data-attr或类选择?

mre*_*req 14 javascript jquery dom

哪个更快,为什么?通过$('div[data-something]')或选择div(插件需求)$('div.something')?我倾向于前者,因为它"更清洁".

基于这个问题,我知道我不应该同时使用这两个问题.但是我没有发现它们之间是否存在差异.

Jam*_*ice 17

至少在Chrome 16中,没有区别.但是,如果使类选择器不那么具体($(".test")例如),它的性能优于其他方法:

在此输入图像描述

这有些出乎意料,因为正如ShankarSangoli所提到的,我认为div.test类选择器会更快.


T.J*_*der 12

它会因浏览器而异.几乎所有的浏览器现在都支持querySelectorAll,jQuery会尽可能地使用它.querySelectorAll可以与属性存在选择器一起使用,所以如果它存在jQuery不需要做的工作,它可以将它卸载到引擎.

对于没有的旧浏览器querySelectorAll,jQuery显然必须做更多的工作,但即使IE8也有它.

与大多数这些事情一样,您最好的选择是:

  1. 除非你发现问题,否则不要担心,并且

  2. 如果您发现问题,请在您打算支持的浏览器上对其进行分析,然后做出明智的决定.