【问题标题】:Insert div with liquid objects and get values with jQuery使用液体对象插入 div 并使用 jQuery 获取值
【发布时间】:2016-12-21 15:37:44
【问题描述】:

我想获取插入的液体对象的值。但我返回的只是实际文本而不是值。但是,如果我只是手动将相同的 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");
});

我误入歧途了?

【问题讨论】:

  • 你不能在头部放一个div,所以当你回调它时,它不会exiost
  • 为什么要将 div 附加到 head 上?
  • 大括号中的值不会自行解析,您必须手动替换它们。你能用 jsfiddle.net 重现这个问题吗?
  • div 也可以在正文中,它实际上只是从站点获取这些值的一种方式。 @biphobe 嗯,我不确定你的意思..“大括号中的值不会自行解析,您必须手动替换它们。”
  • 如果它在 .js.liquid 文件中,那么您可以尝试以下操作:{% raw %}'{{customer.name}}'{% endraw %}

标签: javascript jquery liquid


【解决方案1】:

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

随意在您的 JavaScript 中使用 customer.name,只需在 你的 Liquid templates,不在 .js.liquid 文件中。你完全可以使用 主题模板中的 JavaScript。

看来这取决于你如何使用这些标签来实现 JS。

【讨论】:

    猜你喜欢
    • 2013-11-01
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    • 2010-11-28
    • 1970-01-01
    • 2021-04-10
    • 2018-10-04
    相关资源
    最近更新 更多