2

次のコードがあります。最後の Li のボタンをクリックすると、新しい Li を作成できます。ただし、作成された後、作成された最新のボタンをクリックすると、新しいliが作成されます。最後に作成されたliを最後のliとして認識していないようです。誰かがこれについて助けてくれますか。

<html xmlns="http://www.w3.org/1999/xhtml" >

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $("#mylist :button").click(function() {
                    var text = $(this).val();
                    if (text == "Save") {
                    }
                });

                $("#mylist li:last-child").click(function() {
                $(this).parent().append('<li>' + '<input type = "textbox">' + '<input type = "button" value= "Save">' + '</li>');

                });

            });

        </script>

<div>
<ul id="mylist">
<li id="1">1<button id="Button3">Delete</button> </li>    
<li id="2">2<button id="Button2">Delete</button></li>
<li id="3">3<button id="another_entry">Save</button></li> 
</ul>

<ul id="mylist2">
<li> test1 <button id="Button6">Delete</button></li>
<li> test2<button id="Button5">Delete</button> </li>
<li id="6"><button id="Button1">Delete</button></li> 
</ul>


</div>
4

2 に答える 2

3

as bind iterates elements only oncelive代わりに使用する必要がありますが、新しく作成された要素であってもイベントを動的にアタッチするlistenerを作成します。bindlive

コードは次のサンプルに準拠する必要があります。

$("#mylist li:last-child")
    .live('click', function() {
        // append element
    });

でテスト済みjQuery 1.4.0

于 2010-02-15T11:42:03.740 に答える
0

それ以外の:

 $(this).parent().append('<li>'.........

試す

 $("#mylist").append('<li>'.........
于 2010-02-15T11:25:48.417 に答える