向包含循环的节的第一个和最后一个循环添加节

时间:2018-12-05 14:08:01

标签: javascript jquery html css liquid

my code

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

现在我正在为一个小问题而苦苦挣扎。我想循环所有6个部分,但其中只有4个部分放置在div内,而其他2个(页眉和页脚)则称为tray's,这意味着会有一点差异,因此不会放在其中div。

我知道我可以使用如下方式遍历4个部分:

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

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

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

2 个答案:

答案 0 :(得分: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');

答案 1 :(得分:1)

您还可以选择数据属性:

var sections = $('[data-plate-object="section"]');

$.each(sections, function(idx, val){
    // apply logic
});

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