使用液体对象插入 div 并使用 jQuery 获取值

Insert div with liquid objects and get values with jQuery

我想获取插入的液体对象的值。但我返回的只是实际文本而不是值。但是,如果我只是手动将相同的 div 插入到头部,并且只是 运行 将日志记录到控制台,它就可以正常工作。

我认为这是一个时间问题,但我想不通。我可以将此 div 插入该商店 test-4658.myshopify.com 页面的 head 我像这样将它附加到头部:

$('head').append('<div id="todd" class="{{customer.name}} {{shop.domain}}"></div>');

我通过查看 Web 控制台确认了这一点,但我没有获取液体对象值,而是只获取了文本。我正在将其记录到控制台,如下所示:

$(function(){
  var name = $("#todd").attr('class');
  console.log(name + " me");
});

我哪里误入歧途了?

这是一个讨论在 JavaScript 中使用 Liquid 变量的 Shopify 论坛帖子,应该有所帮助:https://ecommerce.shopify.com/c/ecommerce-design/t/using-liquid-in-javascript-trying-to-get-collection-title-in-jquery-callback-53043

Feel free to use customer.name in your JavaScript, simply do so in your Liquid templates, not in a .js.liquid file. You can totally use JavaScript in your theme's templates.

似乎这取决于您如何使用这些标签实现 JS。