使用 Ajax 循环附加 Div 类

Append Div Class with Ajax Loop

本文关键字:Div Ajax 循环 使用      更新时间:2023-09-26

我有一个Ajax脚本,它读取一个XML文件,并在div内附加一个ID为"links"的每个节点。脚本工作正常,但我想在类"col-md-3"中显示每个结果。

下面是 Ajax 脚本中的循环:

$(xml).find('ref').each(function () {
  // set thumbs and big image paths
  var thumbUrl = 'img/thumbs/';
  var bigUrl = 'img/';
  $('<a />')
  .append($('<img>').prop('src', thumbUrl + img).attr('alt', alt))
  .prop('href', bigUrl + img)
  .prop('title', title)
  .prop('alt', alt)
  .attr('data-gallery', '')
  .appendTo($('#links'));
}); 

结果如下所示:

<div id="links">
  <a href="img/apple.jpg" title="Apple" data-gallery="">
  <img src="img/thumbs/apple.jpg" alt="Apple"></a>
  <a href="img/orange.jpg" title="Orange" data-gallery="">
  <img src="img/thumbs/orange.jpg" alt="Orange"></a>
</div>

我想在列类"col-md-3"中显示每个图像链接,如下所示:

<div id="links">
  <div class="col-md-3">
    <a href="img/apple.jpg" title="Apple" data-gallery="">
    <img src="img/thumbs/apple.jpg" alt="Apple"></a>
  </div>
  <div class="col-md-3">
    <a href="img/orange.jpg" title="Orange" data-gallery="">
    <img src="img/thumbs/orange.jpg" alt="Orange"></a>
  </div>
</div>

尝试换行

$('#links a').wrap('<div class="col-md-3">');

https://jsfiddle.net/xwLmm1d0/1/

我会在插入DOM之前生成完整的HTML代码。它节省了资源,您也可以实际看到您插入的内容:

xml = $.parseXML( '<ref img="350x150" alt="Alt 1" title="Title 1"></ref>' );
var newItemHtml = '';
var thumbUrl = 'https://placehold.it/';
var bigUrl = 'https://placehold.it/';
var links = $('#links');
$(xml).find('ref').each(function(i) {
    var thisRef = $(this);
    var src = thumbUrl + thisRef.attr('img');
    var href = bigUrl + thisRef.attr('img');
    var alt = thisRef.attr('alt');
    var title = thisRef.attr('title');
    newItemHtml += '<div class="col-md-3">'n';
    newItemHtml += '    <a href="' + href + '" title="' + title + '" data-gallery="">'n';
    newItemHtml += '        <img src="' + src + '" alt="' + alt + '">'n';
    newItemHtml += '    </a>'n';
    newItemHtml += '</div>'n';
});
links.append(newItemHtml);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="links"></div>

也在这个小提琴上。