You need to enable JavaScript to run this app. Divi中点击blurb模块触发accordion/toggle展开的代码问题
优惠活动
大模型
产品
解决方案
定价
更多

Divi中点击blurb模块触发accordion/toggle展开的代码问题

问题根因
  • 选择器语法错误:你给blurb模块设置的#open-urbanplanningcurriculum就是该模块本身的ID,你写的$('#open-urbanplanningcurriculum .et_pb_blurb_0.et_pb_blurb')中间带空格,语义是「查找ID为open-urbanplanningcurriculum的元素内部符合类条件的子元素」,自然匹配不到任何元素,事件绑定失效。
  • 缺少默认行为拦截:blurb模块如果设置了跳转链接/自带默认点击逻辑,会优先执行默认行为,导致触发toggle的逻辑被中断。
修正后的完整代码
<script>
jQuery(function ($) {
    // 直接绑定blurb元素本身的点击事件
    $('#open-urbanplanningcurriculum').on('click', function(event){
        // 拦截blurb的默认点击行为
        event.preventDefault();
        event.stopPropagation();
        // 触发toggle展开
        $('#urbanplanningcurriculum .et_pb_toggle_1 .et_pb_toggle_title').click();
        // 如果需要滚动到toggle位置可以取消注释下面这句
        // $('html, body').animate({scrollTop: $('#urbanplanningcurriculum').offset().top - 100}, 300);
    });
});
</script>

如果需要保留类名校验避免ID重复问题,可以把触发器选择器改成$('#open-urbanplanningcurriculum.et_pb_blurb_0.et_pb_blurb'),去掉ID和类之间的空格即可。

排查调试方案

如果修改后仍然不生效,可以按下面的步骤排查:

  • 打开浏览器控制台,输入console.log($('#open-urbanplanningcurriculum').length),如果返回0说明ID拼写错误、大小写不匹配或者元素尚未加载完成。
  • 输入console.log($('#urbanplanningcurriculum .et_pb_toggle_1 .et_pb_toggle_title').length),如果返回0说明toggle模块的选择器配置错误。
  • 检查blurb模块是否设置了#之类的空链接,如果有可以去掉,避免跳转逻辑干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 03:24:03