You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

jQuery中hide()方法出现Uncaught SyntaxError: Unexpected string错误求助

解决Uncaught SyntaxError: Unexpected string错误

嘿,我一眼就揪出问题啦!你这是把jQuery的before()方法用错了,还犯了个基础语法错误。

错误原因解析

before()方法的作用是在选中的元素前面插入内容,它接受的参数可以是HTML字符串、DOM元素、jQuery对象或者返回这些内容的函数。但你现在直接把$(...).hide()这种执行语句塞进了{}里传给before()——这完全不符合语法规则:

  1. 对象字面量{}里必须是键值对,不能直接写执行代码;
  2. before()根本不接受这种格式的参数,这直接触发了语法错误。

另外你还有个小疏漏:第二行的选择器$( "ajax_res_{$id_actif}_{$k}" )缺少了ID选择器的#,jQuery会把它当成标签名去找,肯定找不到目标元素。

修正后的代码

根据你的需求,分两种情况给出修正方案:

情况1:只是想隐藏指定元素

如果你的目标就是隐藏.cart_quantity_button.cart_quantity_input,那根本不需要用before(),直接执行隐藏操作即可:

<script>
  $( ".cart_quantity_button" ).hide();
  $( ".cart_quantity_input" ).hide();
</script>

情况2:先在目标元素前插入内容,再隐藏元素

如果你是想先在#ajax_res_{$id_actif}_{$k}前面插入内容,再执行隐藏操作,那要把逻辑拆分:

<script>
  // 先插入你需要的内容(这里示例插入一段div,你可以替换成自己的内容)
  $( "#ajax_res_{$id_actif}_{$k}" ).before('<div>插入的内容</div>');
  // 再执行隐藏操作
  $( ".cart_quantity_button" ).hide();
  $( ".cart_quantity_input" ).hide();
</script>

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

火山引擎 最新活动