1

ユーザーが ul 内のアイテムのリストを表示し、ユーザーが表示していないアイテムにはそれらを強調表示するためのデータ テーマが適用されている「まだ表示していない」リストを実装しています。ユーザーがアイテムをクリックすると表示され、アイテムが強調表示されないようにデータテーマを削除する必要があります。

Chromeの開発者ツールの要素セクションで属性がliになくなっていることがわかるように、実際に属性を削除するロジックが正しいです。ただし、ハイライトはレンダリングされたページにまだ表示されています。

ページやリストなどを更新することを含む多くの提案を検索して見ましたが、すべて役に立ちませんでした。次のようにいくつかの試みを見ることができます (関数内の "this" は li です)。

    $(this).removeAttr("data-theme");
    //$(this).closest("ul").listview("refresh");
    //$(this).closest("ul").listview();
    //$('#mylist').listview();
    //$("#content-notifications").page();
    //$("#content-notifications").page("destroy").page();
    //if ( $("#content-notifications").data("page") ) {
    //      $(this).closest("ul").listview("refresh");
        //};

私はそれを見つけることができないので、誰もが正しい解決策を持っています!

ありがとう-

マット

4

1 に答える 1

1

li の古いテーマのクラスを手動で削除し、新しいテーマのクラスを追加する必要があります。

$(document).on("click","li",function(){
  $(this).attr("data-theme","b").removeClass("ui-btn-up-a").addClass("ui-btn-up-b")
});

ここでデモ - http://jsfiddle.net/ENYxw/

于 2012-12-13T06:46:41.217 に答える