javascript - jquery append() 适用于 chrome 调试器和 IE,但不适用于 Chrome

标签 javascript jquery html

我有一个奇怪的情况,我的代码在调试器 (Chrome) 中工作,也在 IE 9 上工作,但在 chrome 和 Firefox 中不起作用。我要做的就是将一堆列表元素附加到列表中。

HTML:

<div id="FriendSelector">
     <ul></ul>
</div>

JS:

var friends = []; //this gets loaded with about 600 friend objects (name, icon, id) earlier

function openFriendSelector() {
    var $friendSelector = $('#FriendSelector');
    $friendSelector.show();
    bindFriends();
}

function bindFriends() {
    var $list = $('#FriendSelector ul');

    for (i = 0; i < friends.length; i++) {
        var friend = '<li id="' + friends[i].id + '"><div><img src="' + friends[i].icon + '" class="avatar"/>' + friends[i].name+ '</div></li>';
        $list.append(friend);
    }
}

当我单击打开 FriendSelector DIV 的按钮(最初是隐藏的)时,我看到一个空白的 DIV,但是,如果我关闭弹出窗口并重新打开它, friend 就在那里...

感谢任何帮助。

最佳答案

发现问题。该数组需要几秒钟才能加载(通过 ajax)。因此,在页面加载后,如果我等待几秒钟然后打开 div,它就会工作。这解释了为什么它在调试器中工作。

关于javascript - jquery append() 适用于 chrome 调试器和 IE,但不适用于 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15232798/

相关文章:

javascript - 在已发布的 node_module 库中存储或不存储原始 Typescript 代码?

javascript - 无法使用 setTimeout 或 RAF 实现的 setInterval 用途?

javascript - 统计一秒钟内鼠标点击的次数

c# - 由于 asp :Panel,jQuery 未执行

jquery - 使用 cookie 永久更改 CSS

html - 如何为内容框和嵌入对象提供最小高度?

javascript - 在 chrome 中创建和引用 JavaScript 多维数组

Jquery 卸载不起作用

javascript - 如何将 div 标签放在 Canvas 上

javascript - 在 javascript 中从网页内获取 URL 链接