1

私は以下の構造を持つ木を持っています:

Home
Products
    Product1
    Product2
Item1
Item2
Item3

Products1を選択した場合、Productsの色は赤にする必要があります。そのために私は以下のjqueryを使用しました:

<script type="text/javascript">
$(document).ready(function () {
     $(".leftnav li ul li").click(function(){
       var thisAnchor = $(this);
       var parent = $(thisAnchor).parent().parent();
       $(parent).children("a").css('color','red');
    }); 
});
</script>

ここで、leftnavは、ツリー構造を含むdivで使用されるクラスです。Product1をクリックするとすぐに色が変わりますが、ページがポストバックするとすぐに消えます。誰かがこの問題を解決する方法を教えてもらえますか?

よろしく、スワティジャイン

4

3 に答える 3

1

私があなたを正しく理解しているなら、あなたはポストバック全体で状態を維持する必要があります。どちらか

  1. 現在の選択状態をサーバーにポストバックし、ポストバック用に生成されたhtmlの色を設定します
  2. 現在の選択状態をCookieに保存し(jquery cookieプラグインを参照)、色を変更しますdocument.ready
于 2012-05-31T06:38:41.203 に答える
0

php を使用してクラスを動的に設定するか、ページ ID/クラスを設定して、ページがどこにあるかを認識できるようにする必要があります。たとえば、製品ページを表示している場合、body タグには ID または製品が含まれます。次に、CSSで製品のnav要素を赤に設定できます

body#products .leftnav li ul li.on{
 color: red;
}

あなたのhtmlは、製品ページに次のように表示されます。

<body id="products">
...
<ul>
  <li>
    <ul>
      <li class="on">
         Products
      </li>
    </ul>
  </li>
</ul>
于 2012-05-31T06:40:42.203 に答える
0

ドキュメントのページの URL を準備して if 条件を実行するか、ページの準備が整った状態で色の変更をロードする静的な jscript をページに追加することもできます。ところで、URLを取得するには、 var url = window.location.href と書くだけです

于 2012-05-31T06:41:39.053 に答える