0

jQueryMobileアプリを作成しています。別のファイルの関数でnavbarsの属性を設定できるようにしたいと思います。つまり、多くのhtmlファイルにあるnavbarの属性を、.jsファイルの1つの関数で変更したいということです。

ページ作成でクラスを変更しようとしましたが、うまくいきませんでした。

$('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");
}

何か考えはありますか?

4

2 に答える 2

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');
}
于 2012-11-27T08:43:44.407 に答える
0

これがあなたのための例であり、これはコードです:

$('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');

この部分のコードは、私のjsFiddleの例の下部にあります(HTML部分)。

于 2012-11-27T11:12:52.413 に答える