0

私のHTMLページで、カウントに基づいて特定の数のボタンを表示したいと思います。だから私はこれらのボタンを動的に表示していました。私が書いた足

var html = "<a href='#' data-role='button' data-theme='b' data-inline='true'>Pay</a>";
$("#DivId").append(html);

ただし、スタイリングはボタンには適用されません。以下のコードをDivタグに直接書き込もうとすると正常に動作します

<a href='#' data-role='button' data-theme='b' data-inline='true'>Pay</a>

ヘルプはありますか?

4

3 に答える 3

4

新しく追加されたDOM要素に対してJQueryMobileが更新できるようにする必要があります。

http://jquerymobiledictionary.pl/faq.htmlを参照してください

var html = "<a href='#' data-role='button' data-theme='b' data-inline='true'>Pay</a>";
$("#DivId").append(html).trigger('create');
于 2012-06-25T20:19:42.807 に答える
1

関数などでJavaScriptによるスタイリングを使用しました$(document).ready()か?その場合は、の実行後に関数を再起動する必要があります$("#DivId").append(html);

次のような関数があります。

$(document).ready(function(){
    $('a[href="#modal"]').click(function(){
        alert("Modal");
    });
});

ページが読み込まれた後、実行時に実行されます。<a>同じもので別のタグを動的に挿入しています。例えば:

$("#result").html('<a href="#modal">Modal Window</a>');

何が起こるかというと、このHTMLはハンドラーが実行された後に挿入されます。したがって、$(document).ready()関数で開始されたハンドラーはこれには適用されません。したがって、これでも確実に実行するには、次のように再初期化する必要があります。

$(document).ready(function(){
    loadPage();
});
function loadPage(){
    $('a[href="#modal"]').click(function(){
        alert("Modal");
    });
}
function something(){
    $("#result").html('<a href="#modal">Modal Window</a>');
    loadPage();
}

あなたがそれを手に入れたことを望みますか?

于 2012-06-25T20:13:14.733 に答える
0

答えはそれがうまくいくはずだということです。コードがDOMで適切に出力される限り(Firebugまたは他のインスペクターを参照)、CSSが動作しない理由はありません。おそらく、共有していないCSSに問題があります。

于 2012-06-25T20:15:14.867 に答える