4

私はオンラインでたくさんの解決策を見つけましたが、どれも私のために働いていません。基本的にはボタンのアイコンを切り替えたいです。HTMLは次のとおりです。

  <div data-role="navbar" data-iconpos="top">
    <ul>
      <li><a data-icon="arrow-u">View suggestions</a></li>
    </ul>
  </div>

私はこれらすべてを試しました:

$(this).buttonMarkup({ icon: 'arrow-u' });

//

$(this).attr('data-icon','arrow-u');
$(this).children().children().next().removeClass('ui-icon-arrow-d').addClass('ui-icon-arrow-u');

//

$(this).jqmData('icon','arrow-u');

ただし、何らかの理由で、上記のいずれかを実行すると、ボタンの子要素がすべて消えます(jQuery Mobileは<span>ボタン内に多数のを追加します)。

4

4 に答える 4

8

それを行う最良の方法は次のとおりです。

$('#button').buttonMarkup({ icon: "home" });
于 2013-05-17T20:32:48.847 に答える
1

これらは私のために働いた:

$("#yourButtonId .ui-icon").removeClass("ui-icon-gear").addClass("ui-icon-delete");

$(this).children("span").children(".ui-icon").removeClass("ui-icon-gear").addClass("ui-icon-delete");

$(this).find(".ui-icon").removeClass("ui-icon-gear").addClass("ui-icon-save");

私は魔女が最高だとは思いません。

于 2013-02-19T14:31:25.837 に答える
1

これを試して:

$(this).attr('data-icon','arrow-u').button().trigger("refresh");

関連するフォーラム スレッドを参照してください: http://forum.jquery.com/topic/how-dynamically-update-data-attributes

于 2012-07-23T03:48:50.560 に答える
1

問題が見つかりました!$(this).text('Hide suggestions')すべての子要素を削除するを使用しました。に変更したところ$(this).find('.ui-btn-text').text('Hide suggestions');、完全に機能するようになりました。

于 2012-07-25T02:28:07.790 に答える