【问题标题】:AngularJS element.innerHTML is undefined from within directiveAngularJS element.innerHTML 在指令内未定义
【发布时间】:2013-01-25 20:44:27
【问题描述】:

假设我有:

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的正确方法是什么?

【问题讨论】:

    标签: angularjs innerhtml angularjs-directive


    【解决方案1】:

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

    【讨论】:

    • 谢谢。正是我所缺少的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    • 2020-06-02
    • 1970-01-01
    相关资源
    最近更新 更多