You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Ghost主题中jQuery解析Handlebars模板内容的语法错误?

错误分析与修复方案

错误原因

  • 模板语法嵌入错误:直接将Ghost模板变量{{content}}写入JS模板字符串,JS会把{{content}}渲染后的HTML文本当作代码片段,导致<符号触发语法错误。
  • jQuery选择器错误:原选择器figure.kg-card kg-bookmark-card:first逻辑错误,目标元素是同时拥有kg-card和kg-bookmark-card类的figure,正确选择器应为figure.kg-card.kg-bookmark-card:first。

修复代码

// 获取页面中已渲染的文章内容容器(根据实际DOM结构调整选择器)
const $contentContainer = $('.post-content');
// 定位目标书签卡片
const $targetBookmark = $contentContainer.find('figure.kg-card.kg-bookmark-card:first');
// 调用getBookmark函数(根据函数参数要求传值,示例传jQuery对象)
const parsedBookmark = getBookmark($targetBookmark);

// 用解析结果修改article的href
if (parsedBookmark?.url) {
  $('article').attr('href', parsedBookmark.url);
}

关键说明

  • 不要在JS中直接引用Ghost模板变量{{content}},而是通过DOM选择器获取页面上已经渲染完成的内容节点。
  • 确认getBookmark函数的参数类型:如果函数需要HTML字符串,就传入$targetBookmark.html();如果接受jQuery对象,直接传$targetBookmark即可。

内容的提问来源于stack exchange,提问作者X09

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 00:47:29