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

时间:2014-05-02 07:55:28

标签: jquery methods

哪一个更好:

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

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

this thread的评论中进行讨论后,我有兴趣知道哪个更好用,如果有的话。

2 个答案:

答案 0 :(得分:4)

这已经接近于基于意见的基础"但在这种情况下,实际上有一个坚实的理由。

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

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

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

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

答案 1 :(得分:0)

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

.data更好,因为:

  1. 输入的时间稍长。
  2. 它可以保护您免受将来可能的数据结构更改(尽管不太可能)。
  3. .attr更好,因为:

    1. 它的加载速度快了近3倍。
    2. 我想我会继续自己使用.attr,但是谢谢大家提供这些信息:)