TypeError:无法读取属性' insertBefore'为null

时间:2015-01-30 09:37:50

标签: javascript jquery angularjs jquery-ui angularjs-ng-repeat

我有一个像这样的数组

var users = [
    { 'id': 1, 'name': 'user name', 'age': 25, ... }, 
    { 'id': 2, 'name': 'user name', 'age': 25, ... } 
    ...
]

我使用ng-repeat将其显示为列表。像这样。

<li ng-repeat="user in users">
    {{user.name}}
    <a href="#" ng-click="UserCTRL.remove_user(user.id)">remove user</a>
</li>

我使用jquery sortable使li排序。 sortable有效且remove_user有效。但是,当我将最后一个li移动到上面的任何位置时,它会起作用,直到我尝试删除用户然后我得到错误。

我感谢任何帮助。这个错误是什么意思?

2 个答案:

答案 0 :(得分:0)

我不知道你是否解决了这个错误,因为这个问题是2年前提出的。我碰巧得到了与你一样的错误,我猜错误可能是Cannot read property 'insertBefore' of null。在div中添加包裹层ng-repeat以防止角元素被混乱并通过使用div刚添加的列表进行排序,如下所示应该可以防止此错误:

<li ng-repeat="user in users">
    <div>
        {{user.name}}
        <a href="#" ng-click="UserCTRL.remove_user(user.id)">remove user</a>
    </div>
</li>

答案 1 :(得分:0)

由于浏览器中安装了扩展程序,也会发生此错误。在Chrome浏览器中启用“ Dark Reader”扩展程序时,我遇到了相同的错误。