如何在 Angular.js 中从 DOM 中添加/删除 createElement

Posted

技术标签:

【中文标题】如何在 Angular.js 中从 DOM 中添加/删除 createElement【英文标题】:How to add/ remove createElement from DOM in Angular.js 【发布时间】:2016-10-08 02:04:47 【问题描述】:

在我的 Angular 指令中,我从 DOM 为列表中的特定对象创建了一个外部脚本,其中添加了“脚本”标签和 div 内容。我可以添加它,但我无法删除脚本。我正在使用带有对象列表的按钮,假设按钮包含 a,b,c 列表。我想为 a 添加 DOM 元素,为 b 删除 DOM 元素并在单击时为 c 添加它。我的问题是如何创建和删除用于附加脚本的 DOM 元素。

我创建元素的代码是

var a = document.createElement('script');
a.src = 'errors.js' // here 22 &223 are codes extracted from errors.js         
a.setAttribute('source', 22);
a.setAttribute('source', 223);
var e = document.getElementsByTagName('script')[0];
e.parentNode.insertBefore(a,e);

这是我用来创建元素的。在 Angular.js 中有更好的方法吗?我正在尝试删除创建的元素及其属性。

谢谢!

【问题讨论】:

如果你想创建一个你正在使用 javascript 创建的元素,你可以试试这个 $scope.div = document.createElement("div"); angular.element(document.getElementsByTagName('body')).append($scope.div); 我想创建脚本并通过dom追加 $scope.script= document.createElement("script"); angular.element(document.getElementsByTagName('body')).append($scope.script); 添加没问题,我正在努力删除元素。感谢您的评论 【参考方案1】:

您可以删除 angular.element("script").remove() 以删除基于选择器的元素

同样的方式 angular.element("selector").append("Your script tag" ) 添加元素

【讨论】:

以上是关于如何在 Angular.js 中从 DOM 中添加/删除 createElement的主要内容,如果未能解决你的问题,请参考以下文章

使用Angular JS将类添加到元素

在Angular js中从jquery中选中还是取消选中?

Angular JS——将ng-repeat应用于异步添加到DOM的东西

在 Spring Boot 应用程序中从 Angular JS 调用 Rest Services 时出错

如何在 angular.js 中解析 ng-repeat 中的 HTML [重复]

在 Angular JS 模块中传递并获取 DOM 元素值