【问题标题】:adding sections to first and last in for loop containing sections在包含部分的 for 循环中将部分添加到第一个和最后一个
【发布时间】:2018-12-05 14:08:00
【问题描述】:

首先,我使用 Plate CMS(在 shopify 液体上运行),这是创建您可以在上图中看到的 sections

现在我正在努力解决一个小问题。我想循环所有 6 个部分,但其中只有 4 个放在 div 内,另外 2 个(页眉和页脚)称为tray's,这意味着有一点不同,不会放在那个 div 内。

我知道我可以像这样使用somethign 遍历 4 个部分:

$('#mydiv > section').each(function () { /* ... */ });

但问题是我无法以这种方式选择页眉和页脚。 然后我在上面的 div 上循环,它将循环 <div data-id="post_15757"> 而不是里面的部分。

我如何使用这样的循环:$('#mydiv > section').each(function () { /* ... */ });,还要添加我的页眉和页脚?

【问题讨论】:

标签: javascript jquery html css liquid


【解决方案1】:

您可以使用jQuery add

let $div = $('#mydiv");
$('> section',$div).add($div.prev()).add($div.next())

或按顺序:

let $sections = $('section').first(), $div = $sections.next();
$sections.add($('> section',$div).add($div.next())

或者只是

const $sections = $('section');

【讨论】:

    【解决方案2】:

    您也可以选择数据属性:

    var sections = $('[data-plate-object="section"]');
    
    $.each(sections, function(idx, val){
        // apply logic
    });
    

    这几乎可以肯定,将选择由 CMS 创建的部分,而不是来自集成的 HTML 部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-16
      • 2020-03-01
      • 2021-12-06
      • 1970-01-01
      相关资源
      最近更新 更多