1

私は次のものを持っています:

        <div class="controls-buttons">
            <a id="level-1" href="#">1</a>
            <a id="level-12"href="#">12</a>
        </div>

と:

$('a#level-1').click(function () {
    alert("level-1");
    // all trs with level-1 class inside abc table
    $('tr.level-1').toggle();
});

$('a#level-12').click(function () {
    alert("level 12");
    // all trs with level-1 or level-2 class inside abc table
    $('tr.level-1, tr.level-2').toggle();
});

ただし、リンクをクリックしてもアラートは表示されません。これを設定する方法に何か問題がありますか?

4

2 に答える 2

1

アンカーが動的に生成される場合は、クリックイベントを委任する必要があります。次のことを試してください。

$(document).ready(function() {
    $('body').on('click', 'a#level-1', function () {
        alert("level-1");
        $('tr.level-1').toggle();
    });
})
于 2012-07-21T10:32:11.117 に答える
0

コードを$(document).ready(handler)に配置する必要があります。これにより、DOMが完全にロードされたときにイベントがアタッチされます。

$(document).ready(function() {
  $('a#level-1').click(function () {
      alert("level-1");
      // all trs with level-1 class inside abc table
      $('tr.level-1').toggle();
  });

  $('a#level-12').click(function () {
      alert("level 12");
      // all trs with level-1 or level-2 class inside abc table
      $('tr.level-1, tr.level-2').toggle();
  });
});

デモ

于 2012-07-21T10:33:10.253 に答える