Jquery mobile 如何为动态创建的listview的每个实例更改listview的init选项
假设我有一个listview字符串Jquery mobile 如何为动态创建的listview的每个实例更改listview的init选项,jquery-mobile,Jquery Mobile,假设我有一个listview字符串 var html = ""; html += "<ol id=list2>"+ .... + "</ol>" $(“#list2”).attr('data-theme','e'); $(“#list2”).listview(“刷新”) $(“#列表2”).jqmData(“主题”,“e”) $(“#list2”).listview(“刷新”) 但主题没有更新。类似地,我必须更新listview的一些其他属性,如inset,sp
var html = "";
html += "<ol id=list2>"+
.... +
"</ol>"
- $(“#list2”).attr('data-theme','e'); $(“#list2”).listview(“刷新”)李>
- $(“#列表2”).jqmData(“主题”,“e”) $(“#list2”).listview(“刷新”)李>
但主题没有更新。类似地,我必须更新listview的一些其他属性,如
inset
,splitIcon
。请让我知道如何以编程方式执行此操作。要以编程方式更改主题,仅更改数据主题
属性是不够的,还必须删除由旧主题添加的类,然后手动添加新的类。这里有几个链接指出了这一点:
很遗憾,listview刷新无法完成此操作,您需要执行此操作以实现主题更改:
var newTheme = 'b';
$.mobile.activePage.find('.ui-btn, .ui-li, .ui-listview').removeClass('ui-btn-up-a ui-btn-up-b ui-btn-up-c ui-btn-up-d ui-btn-up-e ui-btn-hover-a ui-btn-hover-b ui-btn-hover-c ui-btn-hover-d ui-btn-hover-e').addClass('ui-btn-up-' + newTheme ).attr('data-theme', newTheme );
$.mobile.activePage.find('.ui-header, .ui-footer').removeClass('ui-bar-a ui-bar-b ui-bar-c ui-bar-d ui-bar-e').addClass('ui-bar-' + newTheme ).attr('data-theme', newTheme );
$.mobile.activePage.removeClass('ui-body-a ui-body-b ui-body-c ui-body-d ui-body-e').addClass('ui-body-' + newTheme ).attr('data-theme', newTheme );
下面是我的工作示例:。您应该对上述代码进行注释,以查看差异
var newTheme = 'b';
$.mobile.activePage.find('.ui-btn, .ui-li, .ui-listview').removeClass('ui-btn-up-a ui-btn-up-b ui-btn-up-c ui-btn-up-d ui-btn-up-e ui-btn-hover-a ui-btn-hover-b ui-btn-hover-c ui-btn-hover-d ui-btn-hover-e').addClass('ui-btn-up-' + newTheme ).attr('data-theme', newTheme );
$.mobile.activePage.find('.ui-header, .ui-footer').removeClass('ui-bar-a ui-bar-b ui-bar-c ui-bar-d ui-bar-e').addClass('ui-bar-' + newTheme ).attr('data-theme', newTheme );
$.mobile.activePage.removeClass('ui-body-a ui-body-b ui-body-c ui-body-d ui-body-e').addClass('ui-body-' + newTheme ).attr('data-theme', newTheme );