javascript - i++ 从 JavaScript for 循环传递到 jQuery(document).ready(function() { 在遍历数组时不能用作动态索引
问题描述
对于我的罪过,我不是一个全职的 JavaScript 实践者,但我正在努力。这是我尝试使用 Google Publisher Tag API 的广告管理命名空间的简化版本
slots
是由返回的 GPT 插槽数组googletag.defineSlot(
,设置在头部中,它尝试通过将其推迟到 jQuery 来定位仅存在于 CMS 后 HTML 呈现的 div。
我怎样才能做到这一点:
var i;
for (i=0;i<slots.length;i++) {
jQuery(document).ready(function() {
jQuery('#ads').append('<div id="'+slots[i].getSlotElementId()+'"></div>');
});
}
...使用 dynamic i
,因为当我一直在调试它时,我发现我不能i
像这样通过,只能通过硬编码的索引。
这适用于jQuery(document).ready(function() {
:
console.log('adManager.all_devices.button.slots[3].getSlotElementId());
这会导致未定义的错误:
console.log('adManager.all_devices.button.slots[i].getSlotElementId());
我一直在阅读(诚实),但我很困惑。温和地说,这里发生了什么,我该如何解决?
解决方案
你有一个错误的结构。您需要附加ready
一次侦听器,然后在回调中执行您的循环。如下:
jQuery(document).ready(function() {
for (var i=0;i<slots.length;i++) {
jQuery('#ads').append('<div id="'+slots[i].getSlotElementId()+'"></div>');
}
});
推荐阅读
- python - 从 GOES-16 Satellite L2 文件中获取不正确的 RGB 值
- .htaccess - 停止 .htaccess 将根目录重定向到根目录/索引
- errbit - 无法连接到 AWS Docdb
- ios - 从 UITextField 接受用户输入货币值的正确方法是什么?
- python - 在样本空间的开始和结束处有更多样本的样本
- python - 如何在 OpenCV 中读取 .tif 图像
- c - 如何修复“分段错误(核心转储)”错误
- python - Plotly AttributeError:“Figure”对象没有属性“update_layout”
- azure - 从 Azure 流分析的查询语言中指定属性值的列和行
- docker - 无法反序列化主题的数据