Bob*_*-ob 5 jquery listview jquery-mobile
嗨,由于某种原因,我无法动态更改jquery移动设备中的某些属性.我可以看到,当我调用我正在使用的相应方法时,标记中的属性正在被更改,但元素的外观不会改变.是否需要在Jquery Mobile中重新初始化列表等?
顺便说一下,这里有一些代码向您展示我如何设置属性:
$('.className').each(function(){
if ($(this).text() == tempLoc){
console.log('FOUND MATCH WITH tempLoc and ' + $(this).text());
$(this).attr('data-icon','alert');
$(this).attr('data-theme','e');
}
});
Run Code Online (Sandbox Code Playgroud)
正如我所说,这是在代码中工作,但元素不会更新或改变外观.有任何想法吗?
更新:我找到了一种更新数据图标的方法,但它当然仍然是杂乱无章的.您可以使用以下方法访问数据图标:
$(this).children('div.ui-btn-inner').children('span.ui-icon').removeClass('ui-icon-arrow-r');
$(this).children('div.ui-btn-inner').children('span.ui-icon').addClass('ui-icon-alert');
Run Code Online (Sandbox Code Playgroud)
在这种情况下,$(this)指的是按钮本身,图标本身就在它的ui-btn-inner child的跨度中找到.将导致ui-icon-arrow-r.在这种情况下,替换您正在使用的任何类别.如果有人知道正确刷新按钮的方法,我将不胜感激.
use*_*990 12
$("#myButtonName").buttonMarkup({ icon: "star" });
Run Code Online (Sandbox Code Playgroud)
这将在运行中改变它.这是我的代码:
$(".menu-button").toggle(
function()
{
$(this).buttonMarkup({ icon: "star" });
$(".navigation-menu-container").show();
},
function()
{
$(".navigation-menu-container").hide();
}
);
Run Code Online (Sandbox Code Playgroud)
请参阅此处的文档:
http://jquerymobile.com/test/docs/buttons/buttons-options.html
您确实应该使用 JQM 选择器,如文档中指定的 jqmData() 。
例如
$('.className').each(function(){
if ($(this).text() == tempLoc){
console.log('FOUND MATCH WITH tempLoc and ' + tempLoc);
$(this).jqmData('icon','alert');
$(this).jqmData('theme','e');
}
});
Run Code Online (Sandbox Code Playgroud)
希望这有助于解决您的问题