为什么innerHTML在angularjs中返回undefined
Why does innerHTML returns undefined in angularjs
innerHTML在单击<p></p>
标记时返回undefined,但我希望它在html内部。你猜为什么?
http://plnkr.co/edit/NOLTO95H5GDuG35X9NOA?p=preview
您可以通过angular的$event
<p ng-click="abc($event)">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptas, nemo, numquam, incidunt similique quisquam dolor blanditiis quis veniam at laudantium quibusdam beatae ad ea voluptates impedit molestiae cum modi quam!
</p>
得到innerHtml
$scope.abc = function(e) {
alert(e.target.innerHTML);
}
Plunker
因为Angular传递的是$scope
对象,而不是DOM元素。由于$scope
对象没有innerHtml
,因此您得到的是undefined
。
您可以将模型分配给输入或文本区域,然后将此模型传递给您的函数。下面是一个plunker:http://plnkr.co/edit/VjFXacXJMa0PpS364wOb或者,如果您想坚持从控制器中使用DOM,这与Angular的性质相反,您可以使用$event.target
。
您需要$event.target
或$event.currentTarget
。
我认为你应该使用$event.currentTarget
,因为它会在你点击的地方给你更精确的元素。
代码
$scope.abc = function($event){
//more precise element tracking will track sub element too using $event.currentTarget
alert( $event.currentTarget.innerHTML || $event.srcElement.innerHTML);
alert($event.target.innerHTML); //element tracking
}
工作Plunkr
请参阅此答案以了解更多信息。
您可以传递$event
并获得$event.target
,这是单击的dom元素
$scope.abc = function($event){
alert($event.target.innerHTML);
}
相关文章:
- RequireJS向模块传递配置总是返回undefined
- JSON数组数据返回Undefined
- JavaScript”;.方法“;返回undefined
- jQuery可以't获取data-*属性值,返回undefined
- Javascript/JSON警报返回Undefined
- Javascript:firstChild对象返回undefined
- 当尝试使用ajax读取文件时,变量返回undefined
- 如何避免JSON.stringify在特殊情况下返回undefined,从而为JSON.parse创建字符串失败
- 使用谷歌地图:一个返回undefined的自定义javascript函数
- Json在nodeJs和AngularJs中返回undefined
- 为什么像 Firefox 和 Chrome 控制台中的 '}{' 这样的结构会返回 'undefined'?
- 使用 HTML 和 JavaScript 从表单访问值时返回 undefined
- 在 CoffeeScript 中,当尝试调用类中的方法 (@_methodName) 时,它会返回 undefined
- 解析承诺'当'返回undefined(Javascript)
- NodeJS:zlib.gunzip(body)错误地返回“undefined”
- window.open在chrome扩展中返回undefined
- jQuery.pr()返回undefined,而.attr()对数据-*的作用与预期一样
- 正在读取嵌套json,jquery返回undefined
- IIFE是否总是返回undefined
- $timeout包装$http.post返回undefined而不是promise