Angularjs remove()方法不适用于IE11

时间:2014-12-05 06:07:01

标签: angularjs internet-explorer internet-explorer-11

以下Angularjs remove()方法在firefox中运行正常。但是,当我使用Internet Explorer 11(IE 11)时,它无法正常工作。我收到错误,Object不支持属性或方法'remove'

以下是我的代码。请帮忙。你甚至可以参考plunker http://plnkr.co/edit/0XtT0f?p=preview,当你使用IE11时,“删除图表”将无法运行。我正在使用angulajs 1.2.16。

var chartDivs = angular.element(document.querySelector('.chartsDiv'))
var cntChartDivs = chartDivs.length;

if (cntChartDivs) {
    while (cntChartDivs > 0) {
        chartDivs[cntChartDivs - 1].remove();
        cntChartDivs = cntChartDivs - 1;
    }
}

1 个答案:

答案 0 :(得分:2)

执行chartDivs[cntChartDivs - 1]会返回原始DOM元素。 remove()函数在JQlite包装器上,所以你只需要重新包装它。

angular.element(chartDivs[cntChartDivs - 1]).remove();

或者你可以通过执行以下操作删除'chartDivs'中的所有图表:

chartDivs.remove();