我正在使用 jquery 将元素添加到空白列表中。
在我的页面上:
<ul id="myList">
</ul>
然后我在从动态创建的事件处理程序调用的脚本中经历了这样一个循环。 (它是通过拖动操作排序的列表项的“onDrop”)
var myListItemHTML;
for (var i = 0 ; i < 5 ; i++)
{
myListItemHTML += '<li id=listItem'+i+'>This is item number'+i+'</li>';
}
$('#myList').append(myListItemHTML);
如果我在...之后检查
if ($('#myList li').length == 0 )
{
alert('Going to crash now since I'm expecting list items')
}
大约 95% 的时间列表被填充,但大约 5% 的时间我触发了稍后会导致异常的警报。
有没有人遇到过这个?是否有回调或方法来知道何时/是否真的发生追加?
最佳答案
var myListItemHTML;
for (var i = 0 ; i < 5 ; i++)
{
$('#myList').append('<li id=listItem'+i+'>This is item number'+i+'</li>');
}
尝试在 for 循环内追加。
if ($('#myList li').length == 0 )
{
alert('Going to crash now since I\'m expecting list items')
}
'
前需要一个\
,这样才不会冲突。
编辑:显示“未定义”的 jsfiddle http://jsfiddle.net/gyEre/1/
关于javascript - 为什么 .append 在 jquery 中会随机失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4800372/