为什么我的脚本可以工作,但它在控制台中显示语法错误?

Why is my script working but it shows a syntax error in console?

提问人:HarisM 提问时间:11/25/2020 更新时间:11/25/2020 访问量:108

问:

检查我的控制台时,我收到如下错误:

未捕获的 SyntaxError:无效或意外的令牌。

我已将这一行追溯到文件夹页脚部分的脚本,该行是

 $('<?php echo $active_accordion_id ?>').addClass('show');

我的菜鸟问题是这个,为什么这是一个错误?这打印出我在访问相应页面时切换活动手风琴所需的内容,根据每个相应控制器函数中传递的 ID。由于它按预期工作,我对为什么这是一个错误感到困惑。

我是否应该费心更改它,因为它正在按预期工作,但是当我进入检查模式时,它确实困扰着我。我认为最好的做法是处理这个问题,即使它可能没有后果(我希望不是!如果可以的话,请阐明一些信息。

感谢您阅读我的问题!

php jquery codeigniter 语法错误

评论

0赞 TimBrownlaw 11/25/2020
只是好奇。你能举一些关于该行产生的输出的例子吗?
0赞 HarisM 11/25/2020
嗨,蒂姆,它不会生成输出,该脚本只是为了向手风琴添加一个类以将其切换为选择/活动/显示。假设我有一个带有 3 个选项卡的手风琴,每个选项卡都有各自的 id,比如说 (#one, #two, #three)。在控制器中,我加载了与显示哪一页有关的 ID,当加载第一页时,手风琴的 #one 处于活动状态/显示/未折叠,如果加载了第二页,则手风琴的 #two 处于活动状态,而其余部分处于折叠状态,依此类推。
0赞 TimBrownlaw 11/25/2020
好吧,如果您在生成的 HTML 中查看源代码,它会的。您可以在浏览器中执行此操作。因此,环顾该区域并查看显示的内容可能是一个想法。只是一个想法。

答:

0赞 Web Star 11/25/2020 #1

我认为直接在脚本中调用和使用PHP函数并不好。 您可以为要在视图中添加某个类的元素创建一个隐藏的输入标签

您的观点:

<input type="hidden" id="element_id" value="<?php echo $active_accordion_id; ?>">

您的 JavaScript 代码

var id = $("#element_id").val();
$('#'+id).addClass('show');

评论

1赞 HarisM 11/25/2020
是的,这种方法听起来更好,我知道我在去年某个时候在另一个项目中使用过它,但不知何故,这次我不记得了,这就是我采用这种方法的原因。会试一试,看看它是否会消失。
0赞 HarisM 11/25/2020 #2

我注意到为什么会出现错误。加载脚本的所有页面不一定都定义了折叠面板 ID,因此错误仅在控制台中的这些页面上显示。因此,我所做的只是为这些页面上的active_accordion_id分配 null 值,以免出现该错误。