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); } });