0

首先,如果主题不清楚,请见谅。

我正在尝试构建一个简单的序列菜单。用户单击第一个选项,然后他找到新的子选项。我认为代码不言自明。

<div id="box">
Welcome text<br>
<ul>
    <li class="option" id="opt1">Option 1</li>
    <li class="option" id="opt2">Option 2</li>
</ul>
</div>

<script>
var nextText = "<p>Next text with two more options.</p><ul><li class='option' id='opt1a'>Option 1a</li><li class='option' id='opt1b'>Option 1b</li></ul>";

$("#box li").click(function() {
  var ev = $(this).attr('id');
  if (ev==="opt1") {
    $("#box").html(nextText);
  }
});
</script>
4

1 回答 1

0

您将点击处理程序绑定到页面首次加载时存在的元素。稍后添加的元素没有点击绑定。你可以在 jQuery 中使用委托来解决这个问题.on

$("#box").on("click", "li", function() {
    var ev = $(this).attr('id');
    if (ev = "opt1") {
        $("#box").html(nextText);
    }
});
于 2013-07-05T17:29:11.410 回答