jquery – 在angularjs指令链接函数中替换元素

前端之家收集整理的这篇文章主要介绍了jquery – 在angularjs指令链接函数中替换元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在创建< row>需要替换的AngularJS指令(在执行之后,< row>标记不能出现在DOM中)与可以包含任何HTML代码的动态模板。

使用replace:true的问题是它不能使用表的标签,并且模板是动态选择的。

所以我试图找到一种方法来替换链接函数中的元素,没有成功。

使用jQuery的.replaceWith()打破ngRepeats未知的原因。

任何提示

这是fiddle

解决方法

你的小提琴看起来很基本,但你应该能够使用outerHTML
element[0].outerHTML ='<div>I should not be red</div>';

Updated fiddle

如果您必须处理ng-repeat,您可以将项目绑定到范围属性,并在您编译的模板中引用它们。一旦编译,你可以使用jQuery replaceWith()

html

<row items="items">***</row>

指示

.directive('row',function ($compile) {
    return {
        restrict: 'E',scope: {
            items: "="
        },link: function (scope,element,attrs) {
            var html ='<div ng-repeat="item in items">I should not be red</div>';
            var e =$compile(html)(scope);
            element.replaceWith(e);
        }
    };
});

ng-repeat example

原文链接:https://www.f2er.com/jquery/184880.html

猜你在找的jQuery相关文章