0

我想删除最后一个<li></li>,下面是代码:

<div id="q">
    <ul><li>
    <table><tr><td>Question 1</td><td><input type="text" name="question1" size="60" /></td></tr>
   <tr><td>Answer:</td><td><input type="text" name="answer1" size="8" /></td></tr>
    </li></ul>
</div>

<input class="btn" id="addquestion"  type="button"  value="Add Question" />
<input class="btn" id="removequestion"  type="button"  value="Remove Question" />
<script>


 $('#addquestion').click(function() {
 var $question_number = $('#q li').size() + 1;

   $html='<li><table><tr><td>Question '+$question_number+'</td><td><input type="text" name="question'+$question_number+'" size="60" /></td></tr>\
   <tr><td>Answer:</td><td><input type="text" name="answer'+$question_number+'" size="8" /></td></tr></li>';
  $('#q ul').append($html);
   });

  $('#addquestion').click(function() {
//$('#q li:last').remove();
}); 
</script>

当我注释掉时$('#q li:last').remove();,其他部分工作正常。但如果我删除评论,代码根本不起作用。任何想法?

4

2 回答 2

2

嗯。为什么您的添加问题会删除问题?

removequestion 不应该删除问题吗?

$('#removequestion').click(function() {
    $('#q li:last').remove();
    return false;
}); 
于 2009-11-15T08:13:13.460 回答
1

我通常在加载 DOM 后设置事件处理程序。即,将它们全部放在 $(document).ready() 处理程序中以避免出现问题

看起来您已经设置了 2 个点击处理程序。一个加 li 另一个去掉 ?? 两者都将在单击时触发

于 2009-11-15T08:10:19.007 回答