0

ディレクティブのテンプレートは次のとおりです:
(私が正しく理解している場合、これはリンク関数の「要素」パラメーターから利用可能になるものですよね?)

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

angularより前にロードされた場合、jQueryがjqLightよりも優先されることを読みました。それを念頭に置いて、リンク関数から「lr」IDでマークされたdivを選択し、その「タイトル」属性を設定しようとする私の試みは次のとおりです。

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

jQueryが存在しないかのように、これは機能しません。
jQueryを利用しながら、「Angular」の方法でそれを行う方法は?
お時間をいただきありがとうございます。
ジャレド

4

2 に答える 2

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 に答える