el = document.getElementById(id);在以下函数内部时无效… el为空.在浏览器调试中,我可以使用相同的代码提取元素.我是Angular.js的新手.我可以不在附加到范围的函数中使用常规
javascript吗?
- myappApp.controller('Scroller',function($scope,$location,$anchorScroll) {
- $scope.scrollTo = function(id) {
- el = document.getElementById(id);
- }
解决方法
我认为DOM尚未加载.所以请确保在完全加载DOM之后运行getElementById().如果在“加载”事件触发后失败,则这是由另一个原因引起的.
HTML
- <body ng-controller="sample">
- <h1 id="foo">bar</h1>
- </body>
JS
- var app = angular.module('myApp',[]);
- app.controller('sample',function($scope){
- addEventListener('load',load,false);
- function load(){
- var el = document.getElementById("foo");
- alert(el);
- }
- });