15

假设我有:

directives.directive('foo', function () {
    return {
        restrict:'A',
        scope: true,
        link:function (scope, element, attr) {

            console.log('innerHTML is ' + element.innerHTML);

            scope.$watch('update', function (newValue) {
                console.log('innerHTML is... ' + element.innerHTML);
            });

        }
    }
});

...然后innerHTML 是未定义的。我想这是由于 Angular 处理 DOM 的方式。获取innerHTML的正确方法是什么?

4

1 回答 1

40

element传递给函数的变量link是 jqLit​​e 对象,而不是 DOM 对象。您可以使用(就像在 jQuery 中一样)获取 DOM 对象element[0],但 jqLit​​e 为您提供了一个方法:element.html(). 查看文档

于 2013-02-10T20:03:37.110 回答