我设置了如下指令:
.directive('ogTakeATour', function() {
return {
restrict: 'E',
replace: true,
templateUrl: '../scripts/directives/TakeATourTemplate.html',
scope: {
content: '@',
uid: '@'
},
link: function(scope) {
angular.element(scope.uid).css("top","250px");
}
};
});
指令模板如下所示:
<div id="{{uid}}" class="tourContainer">
{{content}}
</div>
这就是我称之为指令的方式:
<og-take-a-tour content="Content goes here" uid="menuTour"></og-take-a-tour>
但由于某些原因,这不适用于适用的div。
angular.element(scope.uid).css("top","250px");
这是为什么?可能是指令在链接函数运行时不知道我的元素的id是什么?如果是这种情况,我该如何解决这个问题呢?
答案 0 :(得分:0)
Angular的jQlite不支持id或CSS选择器搜索。所以改变你的代码:
angular.element(document.querySelector('#' + scope.uid)).css("top", "250px");