在JQM中动态更改data-iconpos

时间:2012-11-27 08:34:02

标签: javascript jquery jquery-mobile

我正在制作一个jQuery Mobile应用程序。我希望能够在另一个文件中设置navbars的属性。这意味着,我想通过.js文件中的一个函数来更改许多html文件中的navbar的atrributes。

我尝试在页面创建中更改类,但它对我没用:

$('div[data-role$="navbar"]').bind('pagecreate', function(){
    div=this;
    alert(div.class);
    div.setAttribute("class","ui-btn ui-btn-inline ui-btn-icon-left ui-btn-up-a");
}

你有什么想法吗?

2 个答案:

答案 0 :(得分:0)

当您使用jQuery时,为什么不让自己更轻松并在处理程序中使用它?

$('div[data-role$="navbar"]').bind('pagecreate', function(){
  var $this = $(this);
  alert( $this.attr('class') );
  $this.attr('class','ui-btn ui-btn-inline ui-btn-icon-left ui-btn-up-a');

  //Possibly you mean ...
  //$this.addClass('ui-btn ui-btn-inline ui-btn-icon-left ui-btn-up-a');
}

答案 1 :(得分:0)

Here就是一个例子,这是一个代码:

$('div:jqmData(role="page")').live('pagebeforeshow',function(){
    $('div[data-role$="navbar"] ul li a span span').addClass('new-class');
});

此行将针对每个页面执行:

$('div:jqmData(role="page")').live('pagebeforeshow',function(){

此行将以示例的方式更改导航栏文本的颜色:

$('div[data-role$="navbar"] ul li a span span').addClass('new-class');

这部分od代码可以在我的jsFiddle示例(HTML部分)

的底部找到