2012-02-13 123 views
1

在此代码删除对象的jQuery 1.5工作正常,但不使用jQuery 1.6工作:删除不克隆的对象工作

<!DOCTYPE html> 
<html> 
<head> 
<style>.content {border: 1px solid #333;} .delete {color: red;}</style> 
<script src="http://code.jquery.com/jquery-1.5.js"></script> 
</head> 
<body> 
<div id="master"> 
<div class="content">Some content <span class="delete">Delete</span></div> 
</div> 
<div class="clone">Clone</div> 
<script> 
    $(".clone").click(function() { 
     $("#master").find(".content").last().clone().appendTo("#master"); 
    }); 

    $(".delete").click(function() { 
     $(this).parents(".content").remove(); 
    }); 
</script> 
</body> 
</html> 

与jQuery 1.6 +我可以只删除第一个元素。为什么它不起作用?

回答

3

有关可选的withDataAndEvents参数的clone()1.5.0 that was fixed in 1.5.1中似乎存在问题。

从文档:

在jQuery中1.5.0的默认值是不正确的真实的;它在1.5.1及以后被改回为假。

你的代码,因此应该是:

$(".clone").click(function() { 
    $("#master").find(".content").last().clone(true).appendTo("#master"); 
}); 

$(".delete").click(function() { 
    $(this).parents(".content").remove(); 
});