考虑这个可运行的例子:为什么 el4 没有放在 el3 之后?如果我调试并打印 el3 似乎 el4 已经消失了。如何将一个元素放在另一个元素之后,使它们成为兄弟姐妹?
编辑:我不想在调用 .after() 之前附加 el3。我只是有两个 angular.elements 我想将它们组合成两个兄弟姐妹,并在指令元素中附加或替换它们。
angular.module('myModule', [])
.directive('mydir', [function () {
return {
restrict: 'E',
scope: {},
template:'<div><b>{{myf.str}}</b>',
link: function (scope, elem, attrs, ctrl) {
var el = angular.element('<b>First </b>');
var el2 = angular.element('<i>Second</i><br>');
el.append(el2);
elem.append(el);
var el3 = angular.element('<b>Third </b>');
var el4 = angular.element('<i>Fourth</i>');
el3.after(el4);
elem.append(el3);
}
};
}])
<html ng-app='myModule'>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<mydir></mydir>