【发布时间】:2014-04-03 01:34:49
【问题描述】:
我正在尝试将元素附加到指令元素内的子元素。所以我有这个代码:
directives.group = function ($compile) {
return {
restrict: 'E',
templateUrl: '../../Content/templates/RecruitingGroups/Group.html',
link: function (scope, el) {
scope.addRule = function () {
var rule = $compile('<rule></rule>')(scope);
$(el).find('#rule').append(rule);
}
}
}
}
请注意链接中我有一个函数()。该函数具有传递给它的范围和元素。我认为 'el' 会是独一无二的,就像做一个 jQuery addRule($this)。但似乎情况并非如此,因为如果这些<group> div 中有几个在页面上,则代码$(el).find('.getGroups').append(rule) 将附加到页面上该元素的最后一个实例。不要像我想象的那样去$this。
我的问题是如何将此<rule> 元素附加到this 指令。页面上没有另一个。
一些示例 HTML
<div>
<group>
<div ng-click="addRule()">
<div id="rule">
<rule></rule>
<rule></rule>
</div>
</div>
</group>
<group>
<div ng-click="addRule()">
<div id="rule">
<rule></rule>
</div>
</div>
</group>
</div>
换句话说,当我单击addRule() 时,我希望它将<rule> 元素附加到您当前单击addRule() 按钮的子id="rule"。
【问题讨论】:
标签: javascript jquery angularjs angularjs-directive