0

私はこのようにアコーディオンパネルを静的にバインドしています:

<body>
  <ul class="accordion_menu">
    <li class="has_sub">
      <div class="arrow_trigger up_arrow down_arrow"></div>
      <span>Dropdown</span>
      <ul>
        <li><a href=''>Option 1</a></li>
        <li><a href=''>Option 2</a></li>
      </ul>
    </li>
  </ul>     
</body>

要件は、JSON/XML を使用してアコーディオンをバインドすることでした。JSON オブジェクト/XML の呼び出しは正常に機能しますが、jQuery アコーディオン パネルを使用して静的要素を追加すると機能しません。

部分的なコードを以下に示します。

$('.accordion_menu').append(
   "<li class='has_sub'>"
   + "<div class='arrow_trigger up_arrow down_arrow'>"
   + "</div><span>**JSON DATA GOES HERE**</span>"
   + "<ul>"
   + "<li><a href=''>Option 1</a></li>"
   + "<li><a href=''>Option 2</a></li>"
   + "</ul>"
   + "</li>");

.append()機能の問題は何ですか?

4

1 に答える 1

1

関数に問題はありません.append()が、追加する要素はアコーディオンがインスタンス化された時点では存在しなかったため、他のアコーディオン要素が装飾されたイベント ハンドラーを受け取りません。.append()呼び出し後にアコーディオンを再インスタンス化するか、アコーディオン.append()をインスタンス化するまで待ちます。

于 2013-08-01T18:37:38.510 に答える