0

私がやりたいことは、ボタンを作成してこのボタンを押すと、jQuery モバイル テスト サイトのテーマの色が変わることです。

私のhtml親divがこのように見えるとしましょう

<div id="firstPage" data-role="page">

クリックdata-theme="theme letter here" すると、divに追加されて、このようになるようにしたい<div id="firstPage" data-role="page" data-theme="theme letter here">

また

このようにdivを開始する<div id="firstPage" data-role="page" data-theme="theme letter here">と、ボタンをクリックすると、そのデータテーマ属性が別の文字に変更されます

たとえば、このようなもの

$('#themeBtn').click(function(){
        $('#firstPage').setAttribute("data-role","ANOTHER theme letter");   
    });

また

$('#themeBtn').click(function(){
        $('#firstPage').append("data-role","a");    
    });

またはこのようなもの。どうすればこれを適切に行うことができますか?

ありがとうございます。

編集*応答に基づいて、試してみました**

/////////////TESTING THEME BUTTON (check STACK OVERFLOW for answer)
$('#themeBtn').click(function(){
    //$('#firstPage').jqmData("role","a");
    //$('#firstPage').attr("data-theme","a");
    //$('#firstPage').jqmData("theme","a");
    $('#firstPage').data('theme','a');
});

ボタンが起動していることを確認するために、これらすべての行をコメントアウトして、簡単な

$('#themeBtn').click(function(){
    alert("foo");
    });

確かに、ボタンのクリックでアラートが発生したので、うまく機能していることを確認してください。

私はjsFiddleを追加したので、 あなたはそれが動作しているのを見ることができます(動作していません笑 )応答に基づく) 更新されません。

4

4 に答える 4

0

メソッドを使用できますjqmData

$('#firstPage').jqmData('role', 'a');

ドキュメント

jQuery Mobile を使用する場合、jQuery コアの data および removeData メソッドの代わりに jqmData および jqmRemoveData を使用する必要があります (これには、$.fn.data、$.fn.removeData、および $.data、$.removeData、および $. .hasData ユーティリティ)、名前空間データ属性の取得と設定が自動的に組み込まれるため (名前空間が現在使用されていない場合でも)。

于 2012-08-22T09:48:47.713 に答える
0

使用するだけです:$('#firstPage').data('theme', 'ANOTHER theme letter');

于 2012-08-22T09:50:46.683 に答える
0

やってみました?

$('#themeBtn').click(function(){
    $('#firstPage').attr("data-role","ANOTHER theme letter");   
});

これにより、データロールが更新されます

于 2012-08-22T10:17:06.623 に答える
0

次のようにして、属性を設定できます。

   $('#themeBtn').on('click', function() {
  $('#firstPage').attr("data-theme", "new Theme");   
});
于 2012-08-22T09:52:52.160 に答える