使用Javascript

时间:2016-10-03 12:11:55

标签: javascript jquery html variables

我知道Javascript和Jquery的基础知识。但是,我需要在Javascript变量中输出一些html。这是代码:

$( function() {
    var availableTags = [
        "{% for entry in craft.entries.find() %}","<a href='{{ entry.url }}'>{{ entry.title }}</a>","{% endfor %}"
    ];
    $( "#search-results-general" ).autocomplete({
        source: availableTags
    });
}
);

这个Javascript中的代码是Twig和一些html。因为我使用的CMS是Craft CMS。

提前致谢!

1 个答案:

答案 0 :(得分:0)

Twig通常在服务器上运行(第一次),JavaScript通常在客户端上运行(稍后,一旦页面转为html)。除非您使用非常奇怪的设置,否则将不会运行由JavaScript添加的Twig标记。

如果您使用服务器端jQuery或客户端树枝库做一些奇怪的事情,您应该对更广泛的问题采取不同的方法,或编辑问题并更详细地解释您的设置。

在twig文件的上下文中,您可以执行以下操作:

<script>
$(function() {
  var availableTags = [
    {% for entry in craft.entries.find() %}
      "<a href='{{ entry.url }}'>{{ entry.title }}</a>",
    {% endfor %}
  ];
  $("#search-results-general").autocomplete({
    source: availableTags
  });
}
);
</script>

这样做的目的是让树枝生成javascript代码行。请注意,您可能需要修复上面的XSS漏洞。