jQuery中数据的目的?(将我自己的字段添加到Jquery对象中)

巴西勒·斯塔林凯维奇

这个问题与我的有关,并解释了Jquery中的.data方法

除了与HTML5data-*元素属性的关系<p class='foo_cl' data-bar='gee'>例如),为什么还要编写代码:

 $('body').data("my_lab", {some:"object"});   // §1

代替

$('body').my_lab = {some:"object"};           // §2

(我对Jquery选择器给出一个对象的情况最感兴趣,就像$('body')上面的情况)

后者(§2)似乎比前者(§1)更易读,更短,而且我想效率更高。当然data是一个Jquery选择器(但是我可以each用来设置.my_lab字段,等等...)

我什至可以考虑以难看的外观更改DOM元素

$('body')[0].my_lab = {some:"object"};     // §3 is ugly

(这可能是未定义的行为,请参阅

当然,my_lab在JQuery实现中存在将字段名称与某些现有字段冲突的潜在问题但我认为my_在字段名称中使用一些常见的后缀(如)就足够了。

FWIW,我只对Linux上最新的Firefox(例如38或42)上的最新Jquery(例如Jquery 2.1.4)感兴趣。

换句话说,为什么不赞成在JQuery对象中添加我自己的字段?

皮埃尔·盖瓦莱特

通过做

$('body').my_lab = {some:"object"};

您正在将值设置为指定的jQuery包装器。您将无法使用另一个选择器重新访问数据:

$('body').my_lab = {some:"object"};
console.log($('body').my_lab); // will log undefined

这就是为什么使用数据基本上更可靠的原因

$('body').data('my_lab', {some:"object"});
console.log($('body').data("my_lab")); // will log {some: "object"}

对于第三个选项:$("body")[0].attr = { my : "object" }part:

jQuery数据方法可防止在操作dom时/从页面中删除元素(通过删除绑定的数据和填充物)时潜在的内存泄漏,并避免属性冲突(如设置domElement现有属性和其他细微的事情)

因此,基本上,如果您的应用中装有jQuery,则没有真正的理由通过在dom元素和javascript数据之间进行手动绑定来重新发明轮子。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Flask:是否应该将我自己的配置添加到app.config中?

来自分类Dev

如何将我自己的图标添加到Raphael的免费图标股票中?

来自分类Dev

如何将我自己的图标添加到Raphael的免费图标股票中?

来自分类Dev

例外,将我自己的行添加到具有文本和组合值的DataGridView中

来自分类Dev

将我的函数数据列添加到python中的原始数据中

来自分类Dev

我怎样才能将所有输入字段的值添加到jquery中的数组?

来自分类Dev

我想将我的Editbox数据添加到本地表中吗?

来自分类Dev

如何使用 JSON 和 PHP 在表单提交时将我的对象添加到数组中?

来自分类Dev

将我的类中的对象添加到字典中,并能够从字典中的对象中获取特定属性

来自分类Dev

为什么没有将我的数据添加到存储中?

来自分类Dev

无法将我的猫鼬模型添加到数据库中

来自分类Dev

将我的CSS添加到prestashop中的主题

来自分类Dev

将我的“定义”添加到C中的枚举

来自分类Dev

将我的css添加到prestashop中的主题

来自分类Dev

在Java中将我自己的数据类型添加到ArrayList

来自分类Dev

将jQuery添加到我的Javascript文件中

来自分类Dev

将我自己的库添加到Contiki OS

来自分类Dev

将我自己的命令添加到PATH

来自分类Dev

将我自己的命令添加到PATH

来自分类Dev

我想将输入字段中的数据添加到从构造函数创建的新对象中并将其输出到浏览器中?

来自分类Dev

将我自己的对象添加到QComboBox Q_DECLARE_METATYPE,类型不完整的'QStaticAssertFailure <false>'

来自分类Dev

尝试使用jQuery将占位符属性添加到Wordpress中插件的搜索字段中

来自分类Dev

jQuery将按钮值中的字符串添加到输入字段中

来自分类Dev

将我的数据集添加到圆图

来自分类Dev

将css添加到已经存储在变量中的jQuery对象的伪元素中

来自分类Dev

无法将我的PHP添加到我的文本文档中?

来自分类Dev

我可以将我的Office应用程序图标添加到功能区中吗

来自分类Dev

如何将动态html添加到jQuery对话框的文本字段中?

来自分类Dev

如何将动态html添加到jQuery对话框的文本字段中?

Related 相关文章

  1. 1

    Flask:是否应该将我自己的配置添加到app.config中?

  2. 2

    如何将我自己的图标添加到Raphael的免费图标股票中?

  3. 3

    如何将我自己的图标添加到Raphael的免费图标股票中?

  4. 4

    例外,将我自己的行添加到具有文本和组合值的DataGridView中

  5. 5

    将我的函数数据列添加到python中的原始数据中

  6. 6

    我怎样才能将所有输入字段的值添加到jquery中的数组?

  7. 7

    我想将我的Editbox数据添加到本地表中吗?

  8. 8

    如何使用 JSON 和 PHP 在表单提交时将我的对象添加到数组中?

  9. 9

    将我的类中的对象添加到字典中,并能够从字典中的对象中获取特定属性

  10. 10

    为什么没有将我的数据添加到存储中?

  11. 11

    无法将我的猫鼬模型添加到数据库中

  12. 12

    将我的CSS添加到prestashop中的主题

  13. 13

    将我的“定义”添加到C中的枚举

  14. 14

    将我的css添加到prestashop中的主题

  15. 15

    在Java中将我自己的数据类型添加到ArrayList

  16. 16

    将jQuery添加到我的Javascript文件中

  17. 17

    将我自己的库添加到Contiki OS

  18. 18

    将我自己的命令添加到PATH

  19. 19

    将我自己的命令添加到PATH

  20. 20

    我想将输入字段中的数据添加到从构造函数创建的新对象中并将其输出到浏览器中?

  21. 21

    将我自己的对象添加到QComboBox Q_DECLARE_METATYPE,类型不完整的'QStaticAssertFailure <false>'

  22. 22

    尝试使用jQuery将占位符属性添加到Wordpress中插件的搜索字段中

  23. 23

    jQuery将按钮值中的字符串添加到输入字段中

  24. 24

    将我的数据集添加到圆图

  25. 25

    将css添加到已经存储在变量中的jQuery对象的伪元素中

  26. 26

    无法将我的PHP添加到我的文本文档中?

  27. 27

    我可以将我的Office应用程序图标添加到功能区中吗

  28. 28

    如何将动态html添加到jQuery对话框的文本字段中?

  29. 29

    如何将动态html添加到jQuery对话框的文本字段中?

热门标签

归档