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