使用jQuery.data

时间:2009-08-26 13:38:11

标签: javascript jquery

嗯,我承认:我已广泛使用 jQuery.attr 在多个很多脚本的DOM元素中存储自定义数据。我想知道是否将我的所有脚本转换为使用 jQuery.data 而不是jQuery.attr。据我所知,jQuery.data的优点是:

  • 制作整洁有效的HTML代码
  • 可以在元素
  • 上存储任何类型的数据(对象,数组......)

自定义属性的主要优点是:

  • 如果WEB页面不是严格的HTML,我可以在服务器上生成带有自定义属性的HTML代码
  • 在firebug中,我很容易检查我的HTML代码以搜索我的自定义属性

有人能告诉我,如果我错过了某些内容,或者是否存在使jQuery.data更受欢迎的问题?

2 个答案:

答案 0 :(得分:5)

你几乎得到了它。但是你知道每个 HTML属性吗?屏幕阅读器和其他非标准(可用)的可用性工具使用了很多属性。当您不小心使用role属性并且屏幕阅读器选择了该怎么办时会发生什么?使用$.data不仅更整洁,更安全,更有意义。

编辑:昨晚我学到了与这个问题相关的内容。在HTML5中,您可以指定用于存储数据的自定义属性。必须使用前缀“data-”指定这些自定义属性。有关详细信息,请参阅the spec

这意味着,您不必返回并更改所有旧代码,因为如果您使用“data-”作为前缀,您将永远不必担心与其他属性重叠。但是,如果您需要存储比字符串更复杂的数据类型,请使用$.data

答案 1 :(得分:1)

我认为你不会错过任何东西,但在dom元素属性上存储数据总是一个不好的做法,所以我认为你应该使用$ .data函数。