AngularJS element.innerHTML 在指令内未定义
Posted
技术标签:
【中文标题】AngularJS element.innerHTML 在指令内未定义【英文标题】:AngularJS element.innerHTML is undefined from within directive 【发布时间】: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的正确方法是什么?
【问题讨论】:
【参考方案1】:传递给link
函数的element
变量是一个jqLite 对象,而不是DOM 对象。您可以使用element[0]
获取DOM 对象(就像在jQuery 中一样),但jqLite 为您提供了一个方法:element.html()
。查看docs。
【讨论】:
谢谢。正是我所缺少的。以上是关于AngularJS element.innerHTML 在指令内未定义的主要内容,如果未能解决你的问题,请参考以下文章