我试图用jQuery来创建一个UI,它允许一对li元素添加在列表的末尾。第一对进行得很顺利,但随着附加对的添加,两个较早注入的元素(li.box)中的一个消失。只有一个li.box将永远留在页面上。我无法弄清楚为什么。什么是删除我的注入元素?
HTML
<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
});
});
看,它的工作:http://jsfiddle.net/XxX9Q/ – RAS 2013-03-21 00:28:11
你只是建立在页面加载一个元素,然后移动该在附近,所以这并不奇怪? – adeneo 2013-03-21 00:29:04
'li.after(liBox.clone());' – generalhenry 2013-03-21 00:29:44