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

如何解决JQuery加载SVG后无法查找并设置其高度的问题?

问题排查与解决:加载SVG后无法设置高度

问题原因

  • jQuery的load()是异步方法,调用后立刻查找SVG元素时,文件还未加载完成,导致获取到undefined,触发Cannot read properties of undefined错误。
  • 尝试的contentDocument方法仅适用于iframe/object嵌入的SVG,不适用于直接加载到div内的场景。

解决方案

方案1:利用load()的回调函数(确保加载完成后操作)

修改代码,将SVG的操作逻辑放在load()的回调函数中,确保元素已加载:

$('#case_1_btn').one('click', function(){
  $('#image_placeholder').load('cases/case_1/images/case_1_1.svg', function() {
    // 加载完成后执行
    const svg = $('#image_placeholder').find('svg')[0];
    if (svg) {
      svg.setAttribute('height', '50%');
    }
  });
});

方案2:用CSS控制SVG高度(更简洁推荐)

由于你的SVG已包含viewBox属性,直接通过CSS设置高度即可自动维持宽高比,无需JS操作:

#image_placeholder svg {
  height: 50%;
  width: auto; /* 保持SVG原比例 */
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 20:05:10