jQuery中哪个更快?
$(element).data("dataAtribute");
或
$(element).hasClass("className");
jQuery中哪个更快?
$(element).data("dataAtribute");
或
$(element).hasClass("className");
我的第一个猜测是.hasClass
,因为它不必使用自定义属性,但会检查本机.className
属性。按照this test我是对的。但是,没想到它会有这么多(〜90%)的差别。
在源代码中检查这些方法(请参阅src/data.js和src/attributes.js)使其非常清楚。
试试看 - 尤其是因为这是如此简单。请回报您的调查结果。
我猜想data()
更快,因为它直接检查属性,而不必搜索类属性的值。
再次点,采取。我只是想知道是否有人已经进行了测试,以节省我的时间。我没有意识到这个问题会导致这样的欢乐! – Sniffer 2011-05-19 09:59:50
好的。采取的点。我问的原因是因为我想根据HTML元素是否具有特定属性来做“某事”。我只是想知道(和懒惰)是否通过类名或数据属性添加此检查会有所作为。 – Sniffer 2011-05-19 09:58:19