本节书摘来自异步社区《jquery、jquery ui及jquery mobile技巧与示例》一书中的第9章,第9.20节,作者:【荷】adriaan de jonge , 【美】phil dutson著,更多章节内容可以访问云栖社区“异步社区”公众号查看
jquery mobile提供了该函数的一个变体,即jqmdata()。代码清单9-24演示了如何能像使用data()函数一样来使用它。主要的区别是它考虑了命名空间(namespace)。命名空间在jquery mobile中很重要,当jquery mobile连同其他插件或者外部库一起使用时,它有助于保护该框架不受到影响。当使用jquery mobile时,jquery mobile团队推荐使用jqmdata()方法而不是jquery core中的data()方法。
代码清单9-24 添加、获取和移除jquery mobile中与dom结点关联的数据
第18、21和24行演示了如何使用jqmdata()函数来保存数据、获取数据和移除数据。如果将这个示例与第1章的示例进行比较,你会发现更多的是相同而不是不同。
与data()函数类似,jqmdata函数也是从html中读取data-属性。这对于从dom树中选取某个元素来说尤其有用。第28行显示了如何在css选择器中使用jqmdata()函数。这比`$('a:data-role="button")多了些许代码。作为回报,这里的代码确保考虑了命名空间。
你可以使用$.mobile.ns配置选项来更改命名空间。如果把命名空间设置为myns,需要设置按钮角色的属性名称为data-myns-role。