$(element).data(“dataAtribute”)vs $(element).hasClass(“className”)

时间:2011-05-19 09:43:38

标签: javascript jquery

jQuery哪个更快?

$(element).data("dataAtribute");

$(element).hasClass("className");

2 个答案:

答案 0 :(得分:2)

我的第一个猜测是.hasClass,因为它不必使用自定义属性,而是检查本机.className属性。

根据this test我是对的。但是并不认为它会有太大的差异(~90%)。

在源代码中检查这些方法(请参阅src/data.jssrc/attributes.js)非常清楚。

答案 1 :(得分:0)

试试看 - 特别是因为这很简单。请报告您的调查结果。

我猜测data()更快,因为它直接检查属性,而不是必须在类属性中搜索值。