使用jQuery为WordPress Elementor手风琴(Accordion)标题添加超链接
手风琴标题跳转调整方案
你原有代码的核心问题如下:
- 点击触发时才给标签赋值href,首次点击时跳转逻辑不会生效
- 选择器匹配了页面所有手风琴标题,无法定位到你需要的特定项
- 没有阻止手风琴原生的点击展开事件,跳转逻辑会被原有事件拦截
正确实现代码如下:
场景1:当前页跳转
jQuery(document).ready(function($){ // 定位目标手风琴标题下的链接 const $targetLink = $("#elementor-tab-title-1832 a.elementor-accordion-title"); // 提前设置跳转链接 $targetLink.attr("href", "https://www.test.com"); // 覆盖原有点击事件 $("#elementor-tab-title-1832").off("click").on("click", function(e){ // 阻止原生手风琴展开逻辑 e.preventDefault(); e.stopPropagation(); // 执行跳转 window.location.href = $targetLink.attr("href"); }); });
场景2:新窗口打开跳转
把上述代码中跳转逻辑替换为以下内容即可:
window.open($targetLink.attr("href"), "_blank");
注意事项
- 代码已适配WordPress环境的jQuery别名规则,不需要额外调整$符号引用
- 确认目标手风琴标题的ID
elementor-tab-title-1832没有变化,若后续Elementor组件重建导致ID更新,替换为对应新ID即可 - 若代码不生效,可尝试将其嵌入到页面底部加载,保证在手风琴组件原生初始化脚本执行完成后再运行自定义逻辑
内容的提问来源于stack exchange,提问作者Charles Smith
相关产品推荐
相关产品推荐

