单击按钮更改JQM中的所有数据主题属性

时间:2013-12-27 10:46:51

标签: javascript html5 jquery-mobile

我想在单击按钮后以编程方式将整个文档中的所有数据主题属性更改为“a”。我有数据角色=页面,标题,内容,页脚,对话框,选择菜单,列表视图的div。我想这些都是选择器。有没有可能实现这一目标?我有一个单页应用程序。 到目前为止我尝试过的:

$(document).delegate('[data-role="page"]', 'pagechange', function (e) {
    $.mobile.page.prototype.options.theme  = "a";
});

$(document).delegate('[data-role="page"]', 'pagechange', function (e) {
    $(this).removeClass('ui-body-a ui-body-b ui-body-c ui-body-d ui-body-e').addClass('ui-body-a').attr('data-theme', 'a');
});

然后只是

$.mobile.page.prototype.options.theme  = "a";

但这些都不适合我。

1 个答案:

答案 0 :(得分:0)

您可以直接选择要更改的元素来实现您想要的效果:

$("[data-theme='<old_theme_swatch>']").attr('data-theme', '<new_theme_swatch>');

此外,您可能希望在已修改的窗口小部件上触发更新事件,以使用新的主题样式有效地显示它们。这样,jQuery Mobile将重新增强所有感兴趣的元素,改变它们相关的主题ui- *类(请注意,ui-body- *不是唯一需要更改的类,例如:ui-bar- *)