2009-11-15 9 views
7
<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();動作しません。どうしましたか?Jqueryを使用して最後の<li></li>を削除するには?

+0

ACは、「光ってください!」と言った。 – jtbandes

答えて

15

、あなたは、単に:lastセレクタを使用することができますそれは直接の親です(ul要素が複数ある場合)、:last-childセレクタを使用できます:

$('#q li:last-child').remove(); 
+0

$( '#q li:last')。remove(); 動作しません、理由はわかりません。 – Steven

+0

同じ要素 '#addquestion'に2つのクリック機能があるので、1つは'

  • ..
  • 'を追加し、もう1つは直ちにそれを削除します。 – Mottie

    +0

    私が言っていることは、あなたの2番目の関数を変更することです: '$( '#removequestion')click(function(){$( '#q li:last')。 – Mottie

    4

    試してください:あなたはのすべての最後のli子を削除したい場合は

    $('#q li:last').remove(); 
    

    :あなたは#d内で最後liの要素を削除したい場合は

    var lis = $('#q ul').children(); // get all the children 
    $(lis.get(lis.length-1)).remove(); // remove the last one 
    
    +0

    動作しません。 "lis.get(lis.length-1).removeは関数ではありません"と書かれています。 – Steven

    +0

    Oop、申し訳ありません。 UL。 – jtbandes

    +0

    それでも動作しません。エラーメッセージは "lis.get(lis.length-1).removeは関数ではありません" – Steven

    関連する問題