0

リンクがクリックされたときに div のコンテンツを置き換えるのに問題があります。コンテンツを 1 回置き換えることはできますが、2 回目はできません。新しいdivのIDを取得できないと思います。

私の例を見てください

[グループ 1 を表示] をクリックしてから、グループ 2 を表示します。両方を置き換えることはできますが、グループ 1 を再度置き換えることはできません。ページを更新して、プロセスをもう一度確認してください。

どんな助けでも大歓迎です。

4

3 に答える 3

1

あなたの問題はreplaceWith()、ハンドルとして使用しているコードを置き換えることです...

$j(".monitoringDesc").click(function(e) {
    e.preventDefault();
    $j(".widgetGroup").html($j("#newGroup").html());
    $j(".widgetGroup").show("slide", {
        direction: "right"
    }, 200);
});

これにより、コンテナwidgetGroupが無傷に保たれます-次を使用して内容を置き換えるだけです.html()

この方法を使用して作業する両方の例を次に示します

アップデート

コードと機能をもう少し一般的にすることができます...最初にdataHTMLにいくつか追加します:

<li><a href="#" class="monitoringDesc" data-target="newGroup">Show group 1</a></li>
<li><a href="#" class="monitoringDesc" data-target="newGroup2">Show group 2</a></li>

追加したのは 2 つのdata-target属性だけです。次の jQuery は、上記のデータに基づいて必要なコンテンツを取り込みます。

$j(".monitoringDesc").click(function(e) {
    e.preventDefault();
    $j(".widgetGroup").html($j("#"+$j(this).data('target')).html());
    $j(".widgetGroup").show("slide", {
        direction: "right"
    }, 200);
});

これは.data()data-targetメソッドを使用して、上記の HTML からプロパティを抽出します。また、一致するようにアンカーのクラスを変更しました。これにより、両方でクリック イベントをリッスンできます。

このソリューションの実例はこちら

于 2012-04-20T16:39:02.283 に答える
0

ここに、更新された(機能している)スニペットがあります:http: //jsfiddle.net/qL6gB/6/

これが質問の核心です:

$j(".widgetGroup").html($j("#newGroup").html());

これを使用して、divのコンテンツを変更します

于 2012-04-20T16:45:11.280 に答える