代码笔:http://codepen.io/leongaban/pen/YyWmOo?editors=101
在 my app ,我有一个简单的 div id 名称数组 media = ["twitter", "news", "blogs"]
然后我有一个简单的 for 循环,它尝试从标记中获取 #ids 并将它们添加到我的 vm.parameters
对象中。
当前 div 显示为 null
:
我的 Controller 中的代码:
var vm = this;
vm.parameters = {};
var media = ['twitter', 'news', 'blogs'];
console.log(vm);
console.log(media);
initParameters();
function initParameters() {
console.log('initParameters called...');
for (var i=0; i<media.length; i++) {
vm.parameters[media[i]] = {};
vm.parameters[media[i]].start = 0;
vm.parameters[media[i]].limit = 10;
vm.parameters[media[i]].total = 0;
vm.parameters[media[i]].div = document.getElementById(media[i]);
console.log('getElementById =',document.getElementById(media[i]));
}
console.log('media = ',media);
console.log('vm.parameters = ',vm.parameters);
}
标记(使用 Ionic framework ):
<ion-slide id="twitter">
<h3>Twitter stream</h3>
<p>Here is content for Twitter</p>
</ion-slide>
<ion-slide id="news">
<h3>News stream</h3>
<p>Here is content for News</p>
</ion-slide>
<ion-slide id="blogs">
<h3>Blogs</h3>
<p>Here is content for blogs</p>
</ion-slide>
最佳答案
在尝试获取 ID 之前,您需要执行 onload
事件。这是因为 Controller 在 DOM 加载之前运行:
window.onload = function(){
initParameters();
}
关于javascript - 为什么我在这里得到的 document.getElementById 为 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32726993/