0

这是指令的模板:(
如果我理解正确,这就是链接函数的“元素”参数可用的内容,不是吗?)

template: '<div class="panel">' +
  '<div id="lh" title=""></div>' +
  '<div id="rh" title=""></div>' +
'</div>',

我读过 jQuery 优先于 jqLight,当它在 angular 之前加载时。考虑到这一点,这是我尝试从链接函数中选择标有“lr”id 的 div 并设置其“title”属性:

link: function(scope, element, attrs) {
  element.$('#link').attr("title", attrs.title);
}

这不起作用,就好像没有 jQuery 存在一样。
如何在利用 jQuery 的同时以“Angular”方式进行操作?
感谢您的时间。
贾里德

4

2 回答 2

1

在 jQuery 中,您可以选择从它开始查找的位置设置根。

$(selector[, root])

在你的情况下,它会是

$("#lr", element)

另外值得注意的是,在任何给定时间,页面上都应该只有一个具有特定 ID 的元素,因此$("#lr")也应该有效。

于 2013-09-05T21:16:23.030 回答
0

基本上,您需要获取模板的 HTML,然后使用 jqLit​​e(或 jQuery)对象对其进行转换。

link: function (scope, element, attrs) {
    var html = element[0].innerHTML;
    var e = angular.element(html).find("#lr").attr('title', 'ABC');
    element.replaceWith(e);
}
于 2013-09-05T21:26:02.220 回答