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

Highcharts 11.3.0及以上版本wrap扩展修改SVG desc标签失效求助

解决Highcharts 11.3.0+中修改SVG desc标签内容的问题

你的代码失效是因为Highcharts 11.3.0版本重构了SVGRenderer的内部DOM结构,原来依赖children[0]定位desc元素的方式不再可靠,同时直接修改innerHTML也可能和框架的DOM管理逻辑冲突。

修复后的Wrap代码

直接通过选择器定位desc元素,并用textContent修改内容(比innerHTML更安全,避免破坏SVG结构):

Highcharts.wrap(Highcharts.SVGRenderer.prototype, 'init', function(proceed) {
  // 执行原init方法
  proceed.apply(this, Array.prototype.slice.call(arguments, 1));
  
  // 精准定位desc标签
  const descEl = this.box.querySelector('desc');
  if (descEl) {
    descEl.textContent = 'my content';
  }
});

注:修正了你原代码中的拼写错误(Highgarts→Highcharts,proptype→prototype)和语法缺失(arguments.slice后缺少闭合括号)。

更推荐的官方API方式

如果你的需求是设置SVG的描述内容,更建议使用Highcharts内置的无障碍配置,不需要通过wrap修改内部DOM,兼容性更强:

Highcharts.setOptions({
  accessibility: {
    description: 'my content'
  }
});

这种方式会自动生成符合规范的desc标签,且版本升级时无需担心内部结构变化。

内容的提问来源于stack exchange,提问作者anil kumar Reddy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 07:18:13