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

Wordpress内嵌含PHP的JS代码报Uncaught SyntaxError错误求助

解决单选框切换脚本的语法错误问题

嘿,这个Uncaught SyntaxError: Unexpected end of input错误很典型——本质是你的JavaScript代码没写完,缺少了关键的闭合符号,浏览器解析到代码结尾时发现还有未完成的结构,就抛出了这个错误。

问题根源

你提供的代码片段只写了if语句的主体内容,但遗漏了三个必须的闭合标记:

  1. if代码块的闭合大括号 }
  2. 事件处理函数的闭合大括号 }
  3. .on()方法调用的闭合括号 )

另外原代码里的(function()写法有点冗余,直接用普通函数形式更稳妥,能避免不必要的语法嵌套冲突。

修正后的完整代码

$("#radio").on('change', 'input[type=radio]', function() { 
  // 检查目标单选框是否被选中
  if ($("#port-filter-<?php echo get_the_ID(); ?>").is(":checked")) { 
    $("#port-item-container").removeClass(); 
    $('#port-item-container').addClass('port-choice-<?php echo get_the_ID(); ?>'); 
  }
});

额外优化建议

  • 简化PHP代码:<?php echo ''.get_the_ID().''; ?>可以直接写成<?php echo get_the_ID(); ?>,空字符串拼接完全没必要,更简洁易读。
  • 完善切换逻辑:如果需要处理多个单选按钮的切换,建议添加else if或else分支,比如选中其他单选框时重置容器类名,避免只处理单一选中场景。
  • 验证渲染结果:内嵌PHP后,记得查看页面源代码,确认生成的JavaScript代码是合法的(比如选择器#port-filter-123这类是否正确生成)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:34:35