我有一个横幅管理脚本。在行动页面中,jquery后期流程实现如下:
$.ajax({
type: 'post',
url: 'ajax/impressions.php',
data: {placeholders: bannerPlaceholders.join(',')},
success: function (response) {
if(response) {
for (var placeholderId in response) {
var x = '<a id="banner-'+response[placeholderId]['banner_id']+'" class="banner-tracker" href="'+response[placeholderId]['href']+'" target="_blank">';
x += '<img alt="'+response[placeholderId]['href']+'" src="storage/'+response[placeholderId]['src']+'" />';
x += '</a>';
$('#banner-placeholder-'+placeholderId).html(x);
}
}
}
});
并且数据如下:
{"1":{"banner_id":"1","src":"banner125x125.gif","href":"http://stackoverflow.com"}}
最后一个像这样的html占位符:<div id="banner-placeholder-1" class="banner-placeholder" style="width:125px;height:125px;border:1px solid grey;"></div>
我的问题:横幅未显示在占位符中。我没有管理我的工作。你能帮帮我,我如何在占位符中展示横幅?
亲切的问候。
答案 0 :(得分:0)
看起来你正试图设置不存在的div的html。在each
块的末尾,您设置$('#banner-placeholder-{id}').html
- .html将设置该div的内部html。但是,你不会看到这个,因为你的dom中可能没有#banner-placeholder-3
。
请尝试附加到页面中的现有元素。例如,你可以这样做:
$('body').append(x)
答案 1 :(得分:0)
我认为这是因为banner-placeholder
类,请尝试删除它:
$('#banner-placeholder-'+placeholderId).html(x).removeClass('banner-placeholder');
如果不起作用请发表评论。