Html将5个数据属性转换为jquery插件选项格式
Html 5 data-attributes into jquery plugin options format
除了jquery插件选项外,我还想用html5数据属性覆盖这些值。
这是所需的选项格式是:
var defaults = {
text: {
color: 'red',
opacity: 0.5
},
button: {
width: 100,
height: 30
}
}
我想把数据属性格式化成这样:
<div data-text="color:'red', opacity: 0.5"></div>
但是您将无法读取此数据o.text.color
,因为它根本不存在。然而,o.text
内部有数据。
如何格式化数据属性,以便使用o.text.color
获取值?
只需将格式化为json字符串的对象传递给属性,jQuery数据就会为您解析它。
<div class="test" data-test='{ "test1":"Lorem","test2":"Ipsum" }'></div>
另请参阅更新的fiddle
这不是很干净,让我想起了HTML中的onclick事件。为什么不把它们分成data-test1="Lorem"&data-test2="Ipsum"?
插件可以是这样的(扩展jquery插件样板):
function Plugin( element, options, objD ) {
this.element = element;
this.options = $.extend( {}, defaults, options, objD );
this._defaults = defaults;
this._name = pluginName;
this.init();
}
$.fn[pluginName] = function ( options ) {
return this.each(function () {
if (!$.data(this, "plugin_" + pluginName)) {
var objD = $(this).data();
$.data(this, "plugin_" + pluginName, new Plugin( this, options, objD ));
}
});
};
我不是大师,但对我来说效果很好
相关文章:
- 如何在Angular2中使用jQuery插件
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- 我的jQuery插件参数没有正确启动,遇到了问题
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- TableExport jquery插件:文件名和扩展名问题
- 如何在使用selectBoxIt JQuery插件时检测选项更改
- jQuery插件-从插件中调用公共方法
- 扩展jQuery插件以更改配置
- "工具提示"jQuery插件坏了
- 不能在图像中的地图标记中使用花式框jquery插件的区域标记
- 使用Booklet Jquery插件,我如何验证最后一页是否显示
- 合并TinyMCE(jQuery插件)文件
- 带有jquery插件的backbone.js视图
- 自制jQuery插件已触发,但无法工作
- 我如何才能找到哪些网站使用我的jQuery插件
- jquery插件或javascript方法自动调整文本输入(而非文本区域)(固定宽度)可变高度的大小
- 在多个元素上使用jquery插件,只需稍作修改
- HtmlBox(jquery插件)在ajax调用中不起作用
- 构造jQuery插件
- 使用filedownload jquery插件处理FilePathResult返回值