我有一个几乎完整的操作应用程序,但我有一个问题我无法解决。我想使用jQuery remove()
方法删除包含所有文本和子节点的元素。如果我使用detach()
方法,它会有效,但数据会被保留,这对我来说不是解决方案。
这是html代码:
<div id="scroll-add">
...
<li class="layer_add">
<?PHP
for($i = 0; $i < $size; $i++){
?>
<ul>
<li class = "todo unchecked"
data-breed = "<? echo $breed[$i]; ?>"
<? echo $breed[$i]; ?></li>
</ul>
<?PHP
}
?>
</li>
</div>
和查询:
$(".checkbox input").change(function () {
$(this).parents("span").toggleClass("checked");
var catFileName = $(this).attr("data-catFileName");
var dogFileName = $(this).attr("data-dogFileName");
if($(this).parents("span").hasClass("checked")){
$.ajax({
type: "POST",
url: "../iPhone/inc/breed.php",
data: {'fileName': dogFileName},
dataType: "json",
success: function(data){
$("#scroll-add").children("li.layer_add").detach();
$("#scroll-add").append('<li class="layer_add">');
for(i = 0; i < data.length; i++)
{
$("li.layer_add").append('<ul><li class="todo unchecked" data-breed="' + data[i] + '"></li></ul>');
}
$("#scroll-add").append('</li>');
}
},
...
问题在于我何时使用:
$("#scroll-add").children("li.layer_add").detach()
删除元素。
但是当我使用时:
$("#scroll-add").children("li.layer_add").remove()
没有任何反应。
有关于此的任何想法吗?