将部分添加到包含部分的循环中的第一个和最后一个
adding sections to first and last in for loop containing sections
首先,我使用 Plate CMS(在 shopify liquid 上运行),这是创建您在上图中看到的 sections
。
现在我正在为一个小问题而苦恼。我想循环所有 6 个部分,但其中只有 4 个放在 div 中,另外 2 个(页眉和页脚)被称为 tray's
,这意味着有些不同并且不会放在 div.
里面
我知道我可以使用这样的东西循环遍历 4 个部分:
$('#mydiv > section').each(function () { /* ... */ });
但问题是我不能 select 这样处理页眉和页脚。
然后我循环上面的 div 它会循环 <div data-id="post_15757">
而不是里面的部分。
如何使用这样的循环:$('#mydiv > section').each(function () { /* ... */ });
,同时添加页眉和页脚?
您可以使用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');
您还可以 select 数据属性:
var sections = $('[data-plate-object="section"]');
$.each(sections, function(idx, val){
// apply logic
});
这几乎可以肯定,CMS 创建的部分将被 selected,而不是来自集成的 HTML 个部分。
首先,我使用 Plate CMS(在 shopify liquid 上运行),这是创建您在上图中看到的 sections
。
现在我正在为一个小问题而苦恼。我想循环所有 6 个部分,但其中只有 4 个放在 div 中,另外 2 个(页眉和页脚)被称为 tray's
,这意味着有些不同并且不会放在 div.
我知道我可以使用这样的东西循环遍历 4 个部分:
$('#mydiv > section').each(function () { /* ... */ });
但问题是我不能 select 这样处理页眉和页脚。
然后我循环上面的 div 它会循环 <div data-id="post_15757">
而不是里面的部分。
如何使用这样的循环:$('#mydiv > section').each(function () { /* ... */ });
,同时添加页眉和页脚?
您可以使用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');
您还可以 select 数据属性:
var sections = $('[data-plate-object="section"]');
$.each(sections, function(idx, val){
// apply logic
});
这几乎可以肯定,CMS 创建的部分将被 selected,而不是来自集成的 HTML 个部分。