Jquery “添加并附加”显示两次
我使用append添加另一个divJquery “添加并附加”显示两次,jquery,html,append,Jquery,Html,Append,我使用append添加另一个div $('#'+ number).append('<div id="descc'+number+'" class="backgroundImage" style="font-size:10px; height:13px; color:#fff; background-color:#000;" align="center">'+ descA+'</div>'); $('#'+数字)。追加(''+descA+''); div出现两次并且
$('#'+ number).append('<div id="descc'+number+'" class="backgroundImage" style="font-size:10px; height:13px; color:#fff; background-color:#000;" align="center">'+ descA+'</div>');
$('#'+数字)。追加(''+descA+'');
div出现两次并且remove()不起作用,有什么想法吗
function getDesc(number) {
$.getJSON('getDescription.php?number=' + number, function(des) {
descA = des;
$('#' + number).append('<div id="descc' + number + '" class="backgroundImage" style="font-size:10px; height:13px; color:#fff; background-color:#000;" align="center">' + descA + '</div>');
});
}
function cargarProyectos(cant, col) {
for (i = 1; i <= cant; i++) {
$('#proyectos').append('<div class="backgroundImage" id="' + i + '" style="position:relative; float:left; width:186px; height:150px; background-image: url(../CMS/_class/image.php?id=' + i + ' ); margin-top: 10px;margin-right:10px; margin-bottom:10px; cursor:hand;"></div>');
$('#' + i).html('<div class="backgroundImage" style="font-size:10px; height:13px; color:#fff; background-color:#000;" align="center">PROYECTO ' + i + '</div>');
getDesc(i);
if (!(i % col) && i != 1) {
$('#proyectos').append('<div class="scroll" id="detalle' + Math.floor((i / col)) + '" style="position:relative; white-space: nowrap;display:none; width:100%; height:0px; background-color:#e8e8e8; margin-bottom:10px;"> </div>');
} else if (i == cant) {
$('#proyectos').append('<div class="scroll" id="detalle' + Math.floor((i / col) + 1) + '" style="position:relative; display:none;white-space: nowrap; width:100%; height:0px; background-color:#e8e8e8; margin-bottom:10px;"></div>');
}
}
}
function windowSize() {
winW = $('#proyectos').width();
posicionDetalle = Math.floor(winW / 160);
for (i = 1; i <= cantProyectos; i++) {
$('#descc' + i).remove();
$('#' + i).remove();
if (i == cantProyectos) {
cargarProyectos(cantProyectos, posicionDetalle);
}
}
attachClickEvent();
}
函数getDesc(编号){
$.getJSON('getDescription.php?number='+数字,函数(des){
descA=des;
$(“#”+数字)。追加(“”+descA+“”);
});
}
函数cargarProyectos(铁路超高、坡度){
对于(i=1;i考虑到您想要一些想法,这里是我的。我猜,因为我们没有
HTML
,我们也看不到您在哪里调用哪个函数
但是名称windowSize()
表明您可能在调整窗口大小时调用它,尤其是在使用当前大小的窗口时
这让我更加确信,您必须在resize()
中调用它。因此,有时可以调用两次(事实上,这个数字并不能保证,它肯定取决于所使用的浏览器)——可能就是这样
要解决您的问题,只需在决定添加它之前检查它是否存在
同样,在您的windowSize()
方法中,下面的测试不必要地位于for循环的一侧-将它移到for循环的外部(在删除if语句的过程中),将它放在for循环的后面
if (i == cantProyectos) {
cargarProyectos(cantProyectos, posicionDetalle);
}
请添加更多相关代码。请添加完整代码,以便我们可以查看相关HTML上的内容。jsfiddle.net中的示例也会有所帮助。当我使用.HTML()时,它无法正常工作