繁体   English   中英

jQuery部分追加

[英]Jquery partial append

我想将28 div添加到我的主要html元素宽度数据和内部的特定CSS中。 2倍x 14格

我不明白为什么这样做,并在页面上显示28 div:

createCards: function() {
var cards = [];

for(var i = 1; i <= 14 ; i++) {
  var card = $('<div>').addClass('carte cache');

  card.css('background-position', '0 ' + app.backgroundTop + 'px').data('id', i);
  cards[i] = card;

  app.backgroundTop -= 100;
}
app.backgroundTop = 0;
for(var i = 15; i <= 28 ; i++) {
  var card = $('<div>').addClass('carte cache');

  card.css('background-position', '0 ' + app.backgroundTop + 'px').data('id', (i-14));

  cards[i] = card;

  app.backgroundTop -= 100;
} 
$('main').append(cards);

这不是:

var cards = [];

for(var i = 1; i <= 14 ; i++) {
  var card = $('<div>').addClass('carte cache');

  card.css('background-position', '0 ' + app.backgroundTop + 'px').data('id', i);
  cards[i] = card;
  cards[i+14] = card;

  app.backgroundTop -= 100;
}
$('main').append(cards); 

我尝试了这一点,我也尝试将每个var卡添加到特定的数组中,并在之后使用concat fonction,但结果始终相同。 在控制台记录数组时,我的页面上只有14 div,而我有28个元素。

有任何想法吗 ?

在第二个示例中,您将把cards[i]cards[i+14]分配给同一jquery创建的div实例。 这将注册为与jquery相同的对象,因此只会被添加一次。 您需要为数组的每个索引分别声明$('<div>') ,如果确实希望它们相同,则对第二个索引使用card.clone()

可以将它们视为同一元素,并且一个元素只能位于一个位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM