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