我搜索了很多,并做了很多改变,但我仍然无法找到解决方案。JQuery追加李存在ul
我想要做的是点击一个按钮后,删除ul中的所有li并在此ul中添加一些其他新的li。
HTML是:
<ul id = "wordPrediction">
<li class="nextWord">foot</li>
<li class="nextWord">hand</li>
</ul>
我第一次使用下面的代码删除所有李:
$('#wordPrediction li').each(function(){
$("#wordPrediction li").fadeOut(500, function(){
$("#wordPrediction li").remove();
});
});
然后我尝试在nextWordArray所有元素追加到此UL,我想:
for (var i=0;i<nextWordArray.length;i++){
$('#wordPrediction').append($("<li class=\"nextWord\">"+nextWordArray[i] +"</li>"));
}
但我失败了,具体来说,当我有nextWordArray = ['actor'],这意味着我的nextWordArray.length = 1。我不能成功。
什么时候你试图追加新的元素?在调用你的fadeOut()片断或什么之后?你应该更好地描述你的意思,但它不起作用?只是FYI,fadeOut()完成回调被异步调用,所以如果在完成回调被触发之前追加元素,使用'$(“#wordPrediction li”)。remove();',你只是删除刚添加的内容。相反,你可以使用'$(this).remove();'但你确实有更好的事情来处理你的预期行为 –
哦,上帝,它的工作!当我改变$(“#wordPrediction李”)。到$(this).remove;并保留其余的代码。 – nickyzhi