What's removing my injected element?

What's removing my injected element?

本文关键字:my injected element removing What      更新时间:2023-09-26

我正在尝试用jquery原型UI,它允许一对li元素在列表的末尾添加。第一对运行良好,但是随着添加更多的对,之前注入的两个元素中的一个(li.box)消失了。只有一里。方框将永远留在页面上。我不明白为什么。

<ul id="ruleset" class="ruleset">
    <li class="rule"">
        <div class="text">Rule </div>
        <select name="join" class="join">
            <option value="+">+</option>
            <option value="AND">AND</option>
            <option value="OR">OR</option>
        </select>
    </li>
</ul>
Javascript

$(document).ready(function(){
    var liBox=$('<li>').attr('class','box').text('>');
    $('body').on('change', 'select.join', function(){ 
        var copy=$(this).parent().clone();
        var li = $(this).parent();
        var par=li.parent();
        li.after(liBox); //an item between each rule to eventually contain controls
        par.append(copy); //a copy of the rule item
    });
});

JQuery实际上不会克隆li。盒子,而不是移动它。所以你的代码应该是:

li.after(liBox.clone());

小提琴:http://jsfiddle.net/yqXhM/1/