哪种jQuery方法更好:“。attr(’data-thing’);”或“.data(’thing’);”

哪一个更好:

$('div').attr('data-stuff'); 

要么

 $('div').data('stuff'); 

在对此主题的评论中进行讨论后,我很想知道哪个更好用,如果有的话。

这接近于“过于基于意见”,但在这种情况下实际上有一个坚实的理由。

基本上在编码时,您应该允许您正在使用的库尽可能多地执行“繁重的工作”。 您应该尽可能地将代码与基础数据隔离开来。

一种方法是使用最具体的呼叫。 在这种情况下,您有一个已经提取数据的方法,您只需告诉它您需要的数据。 应避免使用更通用的方法来复制数据提取行为。

这样做会使您的代码略微缩短。 它也使它更安全(例如,没有机会将’数据”拼写为“dota-”或类似的),这意味着如果库中有任何修复或黑客攻击(例如,解决浏览器限制)使用特定的浏览器)然后您将从中受益。

它还可以使您免受库中数据结构的未来变化的影响,尽管在这种情况下不太可能。

考虑到所有人都考虑过的问题,这里是“答案”:

.data更好,因为:

  1. 键入的时间稍短。
  2. 它可以保护您免受未来可能的数据结构更改(尽管不太可能)。

.attr更好,因为:

  1. 它加载速度快近3倍。

我想我会继续自己使用.attr ,但是谢谢大家这个信息:)