i++ 从 JavaScript for 循环传递到 jQuery(document).ready(function() { 在遍历数组时不作为动态索引
i++ passed from JavaScript for loop to jQuery(document).ready(function() { not working as dynamic index when iterating over the array
由于我的罪过,我不是全职 JavaScript 从业者,但我正在努力。这是我尝试使用 Google 发布商标签 API
的广告管理命名空间的简化版本
slots
是 googletag.defineSlot(
返回的 GPT 插槽数组,设置在头部,它试图定位仅存在的 div post-CMS HTML 渲染通过将其推迟到 jQuery.
我该怎么做:
var i;
for (i=0;i<slots.length;i++) {
jQuery(document).ready(function() {
jQuery('#ads').append('<div id="'+slots[i].getSlotElementId()+'"></div>');
});
}
...with a dynamic i
, 因为我在调试的时候发现不能像这样通过i
, 只能通过一个hard-编码索引。
这适用于 jQuery(document).ready(function() {
:
console.log('adManager.all_devices.button.slots[3].getSlotElementId());
这会导致未定义的错误:
console.log('adManager.all_devices.button.slots[i].getSlotElementId());
我已经 reading (honest) 但我很困惑。客气地说,这是怎么回事,我该如何解决?
你的构造有误。您需要附加 ready
侦听器一次,然后在回调内部执行循环。如下:
jQuery(document).ready(function() {
for (var i=0;i<slots.length;i++) {
jQuery('#ads').append('<div id="'+slots[i].getSlotElementId()+'"></div>');
}
});
由于我的罪过,我不是全职 JavaScript 从业者,但我正在努力。这是我尝试使用 Google 发布商标签 API
的广告管理命名空间的简化版本slots
是 googletag.defineSlot(
返回的 GPT 插槽数组,设置在头部,它试图定位仅存在的 div post-CMS HTML 渲染通过将其推迟到 jQuery.
我该怎么做:
var i;
for (i=0;i<slots.length;i++) {
jQuery(document).ready(function() {
jQuery('#ads').append('<div id="'+slots[i].getSlotElementId()+'"></div>');
});
}
...with a dynamic i
, 因为我在调试的时候发现不能像这样通过i
, 只能通过一个hard-编码索引。
这适用于 jQuery(document).ready(function() {
:
console.log('adManager.all_devices.button.slots[3].getSlotElementId());
这会导致未定义的错误:
console.log('adManager.all_devices.button.slots[i].getSlotElementId());
我已经 reading (honest) 但我很困惑。客气地说,这是怎么回事,我该如何解决?
你的构造有误。您需要附加 ready
侦听器一次,然后在回调内部执行循环。如下:
jQuery(document).ready(function() {
for (var i=0;i<slots.length;i++) {
jQuery('#ads').append('<div id="'+slots[i].getSlotElementId()+'"></div>');
}
});